【前沿资讯】claude-code v2.1.89 版本更新内容
by emanjusaka from https://www.emanjusaka.com/archives/claude-code-changelog-v2.1.89 彼岸花开可奈何
内容源自官方日志,由 emanjusaka 整理发布。
博客:https://www.emanjusaka.com
博客园:https://www.cnblogs.com/emanjusaka
公众号:emanjusaka的编程栈
Claude Code v2.1.89 版本迎来了极其详尽的更新,涵盖了从核心 Hook 机制增强到 Windows/PowerShell 深度优化,以及针对长会话性能的大量修复。
一、核心功能与 Hook 机制增强
PreToolUse 挂钩支持“延迟(Defer)”: 允许在工具调用时暂停 Headless 会话,通过
-p --resume重新评估 Hook 决策。PermissionDenied 挂钩: 当自动模式分类器拒绝操作时触发。Hook 可以返回
{retry: true}引导模型重试。虚拟滚动与防闪烁: 引入环境变量
CLAUDE_CODE_NO_FLICKER=1,开启无闪烁的备用屏幕渲染及虚拟化回滚功能。命名子代理(Subagents): 在
@提及的类型提示建议中加入了命名的子代理。非阻塞 MCP 连接: 为
-p模式新增MCP_CONNECTION_NONBLOCKING=true以跳过等待;MCP 服务器连接超时限制为 5 秒,避免被慢速服务器阻塞。
二、工具与自动化(Auto Mode)优化
权限管理进化: 被拒绝的命令现在会发送通知,并显示在
/permissions的“最近(Recent)”标签页中,支持快捷键r直接重试。编辑/读取规则修复:
Edit和Read工具的允许规则现在会检查解析后的符号链接(Symlink)目标,而非仅检查请求路径。工具联动改进:
Edit现在可以直接作用于通过Bash工具(如sed -n或cat)查看的文件,不再强制要求先执行独立的Read调用。状态汇总优化: 对于
ls/tree/du等命令,折叠后的摘要现在准确显示为“列出了 N 个目录”,而非“读取了 N 个文件”。
三、Windows 与 PowerShell 深度适配
环境一致性:
/env命令现在可以正确应用于 PowerShell 工具(此前仅限 Bash)。换行符修复: 修复了 Windows 上
Edit/Write工具重复生成 CRLF 以及删除 Markdown 硬换行(末尾双空格)的问题。参数安全性加强: 在 PowerShell 5.1 中,若外部命令参数同时包含双引号和空格,将从“自动允许”改为“提示确认”,以防止参数分割风险。
Bug 修复: 修复了语音模式在 Windows 上的 WebSocket 错误,以及 PowerShell 5.1 将 stderr 输出误报为失败的问题。
四、性能、稳定性与内存管理
内存泄漏治理: 修复了长会话中大 JSON 输入被 LRU 缓存错误保留导致的泄漏,以及处理超大文件(>1 GiB)时的 OOM 崩溃。
长会话稳健性:
修复了超过 50MB 的大型会话文件删除消息时的崩溃。
修复了“自动压缩(Autocompact)”在达到限制后陷入死循环的问题。
解决了长会话中工具 Schema 字节变化导致的提示词缓存失效。
LSP 服务修复: 修复了 LSP 服务器崩溃后的“僵尸状态”,现在会在下次请求时自动重启。
五、关键缺陷修复
国际化修复: 修复了 CJK(中日韩)或表情符号在
history.jsonl中因 4KB 边界切分而被静默丢弃的问题;修复了天城文(Devanagari)等组合字符在输出时被截断的问题。Deep Links: 修复了
claude-cli://深度链接在 macOS 上无法打开的问题。统计准确性:
/usage和/stats现在能更准确地统计子代理的 Token 使用情况。UI 体验: 修复了 iTerm2/tmux 环境下的 UI 抖动、通知清除延迟以及由于 API 错误导致的误导性“频率限制”提示。
六、默认行为变更与文档更新
思维摘要(Thinking Summaries): 交互式会话中默认不再生成思维摘要(可通过设置
showThinkingSummaries: true恢复)。Hook 数据处理: 超过 50K 字符的 Hook 输出现在会保存到磁盘并提供预览,不再直接注入上下文以节省 Token。
任务管理: 记录了
TaskCreated挂钩事件及其阻塞行为;支持在后台运行命令(Ctrl+B)时保留任务通知。设置校验:
cleanupPeriodDays设置为 0 现在会触发验证错误,防止误操作导致历史记录丢失。
七、彩蛋
April 1st (/buddy): 针对 4 月 1 日新增了
/buddy命令,你可以孵化出一个在编码时盯着你看的小生物。