本文前言:Claude Code 的进化速度,已经到了一种让人来不及消化的程度。根据
github.com/anthropics/claude-code/blob/main/CHANGELOG.md 获取最新的变更,跟紧 Claude Code新功能、新趋势。
最新版本:v2.1.89
提交时间:2026-04-01 01:07 UTC
版本更新概述:ClaudeCode v2.1.89版本带来多项功能更新和问题修复。主要新增特性包括:支持无头会话暂停恢复、无闪烁屏幕渲染选项、自动模式分类器重试机制、子代理提及建议等。修复了包括符号链接检查、Windows平台CRLF处理、内存泄漏、大文件崩溃等42项问题。优化了工具摘要显示、Bash/PowerShell工具交互体验,并调整了设置项验证逻辑。该版本还改进了UI渲染稳定性,解决了多语言文本截断问题,并预告将于4月1日上线"/buddy"新功能。具体细节如下:
- 向“PreToolUse”挂钩添加了“defer”权限决策 - 无头会话可以在工具调用时暂停并使用“-p --resume”恢复以使挂钩重新评估
- 添加了“CLAUDE_CODE_NO_FLICKER=1”环境变量,以选择具有虚拟回滚功能的无闪烁替代屏幕渲染
- 添加了“PermissionDenied”钩子,该钩子在自动模式分类器拒绝后触发 - 返回“{retry: true}”以告诉模型它可以重试
- 将命名子代理添加到“@”提及提前输入建议
- 为“-p”模式添加了“MCP_CONNECTION_NONBLOCKING=true”,以完全跳过 MCP 连接等待,并将“--mcp-config”服务器连接限制在 5 秒,而不是在最慢的服务器上阻塞
- 自动模式:被拒绝的命令现在显示通知并出现在“/permissions”→“最近”选项卡中,您可以在其中使用“r”重试
- 修复了 `Edit(//path/**)` 和 `Read(//path/**)` 允许规则检查解析的符号链接目标,而不仅仅是请求的路径
- 修复了某些修饰符组合绑定无法激活语音一键通以及 Windows 上的语音模式失败并显示“WebSocket 升级被 HTTP 101 拒绝”的问题
- 修复了 Windows 上的编辑/写入工具加倍 CRLF 并剥离 Markdown 硬换行符(两个尾随空格)
- 修复了“StructuredOutput”模式缓存错误,导致使用多个模式时失败率约为 50%
- 修复了内存泄漏,其中大型 JSON 输入在长时间运行的会话中保留为 LRU 缓存键
- 修复了从非常大的会话文件(超过 50MB)中删除消息时发生的崩溃
- 修复了崩溃后 LSP 服务器僵尸状态 — 服务器现在在下一个请求时重新启动,而不是在会话重新启动之前失败
- 修复了包含 CJK 或表情符号的提示历史条目在落在 `~/.claude/history.jsonl` 中的 4KB 边界上时被静默删除的问题
- 修复了“/stats”通过排除子代理使用而低估令牌的问题,并在统计缓存格式更改时丢失超过 30 天的历史数据
- 修复了当延迟工具输入超过 64KB 或不存在延迟标记时“-p --resume”挂起,以及“-p --continue”不恢复延迟工具的问题
- 修复了“claude-cli://”深层链接在 macOS 上无法打开的问题
- 修复了当服务器返回多元素错误内容时 MCP 工具错误仅截断为第一个内容块的问题
- 修复了通过 SDK 发送带有图像的消息时技能提醒和其他系统上下文被删除的问题
- 修复了 PreToolUse/PostToolUse 挂钩以接收 `file_path` 作为写入/编辑/读取工具的绝对路径,与记录的行为相匹配
- 修复了 autocompact thrash 循环 - 现在检测连续压缩 3 次后上下文何时重新填充到限制,并以可操作的错误停止,而不是烧毁 API 调用
- 修复了由于工具架构字节在会话中更改而导致的长会话中的提示缓存丢失
- 修复了在读取许多文件的长会话中嵌套的 CLAUDE.md 文件被重新注入数十次的问题
- 修复了当脚本包含旧 CLI 版本或中断写入的工具结果时“--resume”崩溃的问题
- 修复了 API 返回权利错误时误导性的“已达到速率限制”消息 — 现在显示带有可操作提示的实际错误
- 修复了钩子“if”条件过滤与复合命令(“ls && git push”)或带有 env-var 前缀的命令(“FOO=bar git push”)不匹配的问题
- 修复了在大量并行工具使用过程中折叠搜索/读取组徽章在终端回滚中重复的问题
- 修复了通知“无效”未立即清除当前显示的通知的问题
- 修复了处理过程中后台消息到达时提交后提示短暂消失的问题
- 修复了梵文和其他组合标记文本在助理输出中被截断的问题
- 修复了布局变化后主屏幕终端上的渲染伪影
- 修复了语音模式无法在 macOS Apple Silicon 上请求麦克风权限的问题
- 修复了 Windows Terminal Preview 1.25 上 Shift+Enter 提交而不是插入换行符的问题
- 修复了在 tmux 内运行时在 iTerm2 中进行流传输期间的周期性 UI 抖动
- 修复了当“git push”等命令在 Windows PowerShell 5.1 上将进度写入 stderr 时 PowerShell 工具错误报告失败的问题
- 修复了在非常大的文件 (>1 GiB) 上使用编辑工具时可能出现的内存不足崩溃问题
- 改进了折叠工具摘要,以显示 `ls`/`tree`/`du` 的“列出的 N 个目录”,而不是“读取 N 个文件”
- 改进了 Bash 工具,当格式化程序/linter 命令修改您之前读取过的文件时发出警告,防止过时编辑错误
- 改进了“@”提示输入,将源文件排列在具有相似名称的 MCP 资源之上
- 改进了 PowerShell 工具提示,提供适合版本的语法指导(5.1 与 7+)
- 更改了“Edit”以处理通过“Bash”使用“sed -n”或“cat”查看的文件,而不需要先单独调用“Read”
- 更改了超过 50K 个字符的挂钩输出,以使用文件路径 + 预览保存到磁盘,而不是直接注入到上下文中
- 更改了 settings.json 中的“cleanupPeriodDays: 0”,使其因验证错误而被拒绝 - 它之前默默地禁用了转录持久性
- 将思维摘要更改为在交互式会话中默认不再生成 - 在 settings.json 中设置 `showThinkingSummaries: true` 来恢复
- 记录了“TaskCreated”挂钩事件及其阻塞行为
- 使用 Ctrl+B 将正在运行的命令置于后台时保留任务通知
- Windows 上的 PowerShell 工具:包含双引号和空格的外部命令参数现在提示而不是自动允许(PS 5.1 参数分割强化)
- `/env` 现在适用于 PowerShell 工具命令(之前仅影响 Bash)
- `/usage` 现在隐藏了专业版和企业版计划中多余的“当前周(仅限十四行诗)”栏
- 图像粘贴不再插入尾随空格
- 将 `!command` 粘贴到空提示符中现在会进入 bash 模式,匹配键入的 `!` 行为
-“/buddy”将于 4 月 1 日上线——孵化一个小生物,它会看着你编码
本文小结:红色标注是本人感觉对使用者有益的几条内容,您感觉哪一条是与实用性呢?多尝试,多思考,欢迎在评论区交流!感谢您的阅读,关注,点赞。