emanjusaka —— 彼岸花开可奈何

【前沿资讯】claude-code v2.1.89 版本更新内容

6
0
【前沿资讯】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 命令,你可以孵化出一个在编码时盯着你看的小生物。

···

版权声明 COPYRIGHT

谦学于心,谷纳万物,静思致远,共筑收获之旅!