【前沿资讯】claude-code v2.1.90 版本更新内容
by emanjusaka from https://www.emanjusaka.com/archives/claude-code-changelog-v2.1.90 彼岸花开可奈何
内容源自官方日志,由 emanjusaka 整理发布。
博客:https://www.emanjusaka.com
博客园:https://www.cnblogs.com/emanjusaka
公众号:emanjusaka的编程栈
Claude Code v2.1.90 版本发布了。本次更新涵盖了从交互式教学到底层性能优化,以及针对特定环境(如离线场景和 Windows PowerShell)的安全加固。
一、新增功能与交互增强
交互式教学课程 (
/powerup): 引入了全新的交互式课程,通过动画演示教学 Claude Code 的核心功能,帮助用户更直观地掌握工具技巧。离线环境支持: 新增环境变量
CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE。当git pull失败时,允许保留现有的 Marketplace 缓存,这对于在离线或弱网环境下工作的开发者非常有用。受保护目录扩展: 在
acceptEdits模式下,.husky目录现已被列为受保护目录,防止 AI 误改 Git 钩子配置。
二、性能优化(大幅提升响应速度)
核心传输优化: SSE(Server-Sent Events)传输现在以线性时间处理大型流式帧,解决了此前可能导致的二次方时间复杂度延迟。
长对话优化: 修复了 SDK 会话中长对话在写入转录(transcript)时变慢的问题,性能从二次方增长优化为线性。
会话加载提速:
/resume的“所有项目”视图现在支持并行加载项目会话,对于拥有大量项目的用户,加载速度显著提升。MCP 插件优化: 消除了缓存键查找时每轮对 MCP 工具 Schema 进行的
JSON.stringify操作,降低了 CPU 开销。
三、关键修复
缓存命中修复: 修复了
--resume导致的一个严重回归(自 v2.1.69 起):此前对于使用延迟工具、MCP 服务器或自定义 Agent 的用户,首次请求会出现完整的 Prompt Cache 丢失。编辑冲突修复: 解决了在使用
PostToolUse格式化钩子(如 save-on-format)时,由于文件内容在连续编辑之间被重写,导致 Edit/Write 失败并报错 "File content has changed" 的问题。UI 稳定性:修复了因触发速率限制(Rate-limit)导致对话框反复自动开启并最终崩溃的死循环。
修复了畸形工具输入到达权限对话框时导致的 UI 崩溃。
修复了
/model、/config等选择界面在滚动时头部标题消失的问题。
显示与交互:
修复了在全屏滚动回溯中,
CLAUDE.md自动加载时搜索/阅读摘要勋章重复出现的问题。提升了浅色终端主题下“点击展开”悬浮文本的可读性。
自主模式约束: 修复了自动模式(Auto mode)不尊重用户显式边界(如 "don't push" 或 "wait for X before Y")的问题。
Hook 拦截逻辑: 修复了 PreToolUse 钩子在输出 JSON 到 stdout 并以代码 2 退出时,未能正确拦截工具调用的问题。
四、安全与策略变更
PowerShell 权限加固: 强化了针对 PowerShell 工具的权限检查,修复了包括尾部及后台作业绕过、
-ErrorAction Break调试器挂起、归档提取的 TOCTOU(时间差攻击)以及解析失败时的降级防御风险。自动允许清单缩减: 出于 DNS 缓存隐私考虑,从自动允许执行的命令中移除了
Get-DnsClientCache和ipconfig /displaydns。会话筛选优化:
--resume选择器现在会过滤掉由claude -p或 SDK 调用创建的临时会话,使项目恢复界面更加整洁。