Claude Code v2.1.210 发布:工具计时显示、权限警告与多项修复
英文标题:Claude Code v2.1.210
Claude Code v2.1.210 发布,新增长时间运行工具的实时计时,并为 Write/NotebookEdit/Glob 权限规则添加启动警告。本次更新修复了约 20 项问题,涉及 worktree 子代理的 git 隔离、ultracode 误触发、粘贴字符泄漏、MCP 服务器重同步以及无人值守会话误中断等。同时改进了自动模式默认使用 Sonnet 5 权限分类器,并增强了图表颜色验证与间接提示注入防护。这些修复与增强显著提升了开发者的稳定性与日常使用体验。
打开原文相关 7.2 · 机会 4
1.3 KB
48.0 KB
中文
更新内容
- 在折叠工具摘要行中添加了实时已耗时计数器,使长时间运行的工具调用可看到计时而非看似卡住
- 为
Write(path)、NotebookEdit(path)和Glob(path)权限规则添加启动警告 — 请改用Edit(path)或Read(path) - 修复了
isolation: 'worktree'子代理能对主仓库检出执行变更 git 的命令,而非其自身隔离工作树的问题 - 修复了
ultracode关键词加入在非人为输入上触发的问题,如 webhook 负载和转发的 PR 评论 - 修复了当 UI 组件返回样式化文本元素之外的内容时,渲染的文本片段泄漏到崩溃遥测中的问题
- 修复了粘贴标记泄露到从 Claude Code 打开的外部编辑器中的问题,可能导致粘贴文本周围出现杂乱的 È/É 字符
- 修复了
claude attach在会话转换期间有时会因 "job not found" 或 "agent is still starting" 错误而失败 — attach 现在等待守护进程稳定,慢速连接期间的终端大小调整会在完成后应用 - 修复了当工具的结果渲染器返回数值 bigint 或纯文本而非 UI 元素时会导致会话崩溃的问题
- 修复了钩子回调超时被错误报告给模型为用户拒绝,导致无人值守会话停止等待的问题
- 修复了 Claude 假设
cd在命令被移至后台后生效;现在工具结果会声明工作目录未更改 - 修复了会话中途重新同步 MCP 服务器时,插件提供的 MCP 服务器被拆解的问题
- 修复了未经编辑的计划批准被标记为 "(edited by user)" 并用过期快照覆盖计划文件的问题
- 修复了
/doctor在 Bedrock、Vertex 和 Foundry 上跳过其自动模式默认提议的问题,这些平台上的自动模式不再需要加入 - 修复了 Grep 内容模式在结果末尾翻页时声称 "No matches found" 的问题
- 修复了技能和命令中未匹配的
$1/$2位置占位符被静默移除的问题;现在它们按原样保留 - 修复了插件缓存写入在失败时留下临时文件,并在 Windows 和网络文件系统上因文件锁定重命名失败的问题
- 修复了当客户端重置与后台服务的连接时,后台工作进程崩溃循环的问题
- 修复了
claude agents --effort ultracode未能传递到派发的会话;该值被静默丢弃 - 修复了按 ← 打开代理视图后返回会话时任务跟踪器丢失的问题
- 修复了代理仪表板在会话删除后保留已废弃回复草稿中的粘贴图像的问题
- 修复了终止的后台会话留下永久的
git worktree lock;定期清理现在会释放所属进程已消失的锁 - 修复了通过
initialize控制请求注册的 SDK MCP 服务器要等到下一轮才开始连接的问题 - 修复了从会话返回代理视图时,使用
CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN=1会留下重叠幽灵框架的问题 - 修复了后来出现的
.claude/*符号链接未纳入沙箱禁止写入列表的问题 - 加强了代理工具,防范通过子代理读取内容进行的间接提示注入
- 改进了命令超时并被自动置于后台时 Bash/PowerShell 工具的消息,使模型能区分挂起和显式后台请求
- 改进自动模式:权限分类器现在对外部会话默认使用 Sonnet 5,在会话第一次请求时验证并固定用于该会话
- 改进了捆绑的 dataviz 技能中的图表颜色验证,采用感知性的 OKLab 色差并重新校准了色盲阈值
- 当 MEMORY.md 索引超出读取限制的内存写入现在会产生显式错误,而不是静默截断
- 屏幕阅读器模式现在通过 Shift+Tab 循环模式时会大声播报权限模式变化
- 代理页脚提示现在显示有多少后台代理正在等待你的输入,当计数变化时会有短暂的颜色强调
- 代理视图:你按 ← 离开的会话即使在鼠标悬停或方向键移动选择后仍保持可见标记
- 由于服务端问题导致 Fable 顾问失败,Fable 在顾问选择器中临时显示为不可用,待修复
English / 原文
Compare
Sorry, something went wrong.
No results found
What's changed
- Added a live elapsed-time counter to the collapsed tool summary line so long-running tool calls visibly tick instead of looking stuck
- Added a startup warning for
Write(path),NotebookEdit(path), andGlob(path)permission rules — useEdit(path)orRead(path)instead - Fixed
isolation: 'worktree'subagents being able to run git-mutating commands against the main repo checkout instead of their own isolated worktree - Fixed the
ultracodekeyword opt-in firing on non-human-originated input such as webhook payloads and relayed PR comments - Fixed a rendered text fragment leaking into crash telemetry when a UI component returned content outside a styled text element
- Fixed paste markers leaking into external editors opened from Claude Code, which could appear as stray È/É characters around pasted text
- Fixed
claude attachsometimes failing with "job not found" or "agent is still starting" errors during session transitions — attach now waits for the daemon to settle, and terminal resizes during a slow attach are applied once it completes - Fixed a session crash when a tool's result renderer returned a numeric bigint value or plain text instead of a UI element
- Fixed a hook callback timeout being misreported to the model as a user rejection, which made unattended sessions stop and wait
- Fixed Claude assuming a
cdtook effect after its command was moved to the background; the tool result now states the working directory is unchanged - Fixed plugin-provided MCP servers being torn down when MCP servers are re-synced mid-session
- Fixed plan approvals without edits being labeled "(edited by user)" and overwriting the plan file with a stale snapshot
- Fixed
/doctorskipping its auto-mode-default proposal on Bedrock, Vertex, and Foundry, where auto mode no longer needs an opt-in - Fixed Grep content mode claiming "No matches found" when paginating past the end of results
- Fixed unmatched
$1/$2positional placeholders in skills and commands being silently stripped; they are now preserved verbatim - Fixed plugin cache writes leaving temp files behind on failure and failing on locked-file renames on Windows and network filesystems
- Fixed background workers crash-looping when a client resets its connection to the background service
- Fixed
claude agents --effort ultracodenot reaching dispatched sessions; the value was silently dropped - Fixed pressing ← to open the agents view dropping the task tracker when returning to the session
- Fixed the agents dashboard retaining pasted images from abandoned reply drafts after their session was deleted
- Fixed killed background sessions leaving a permanent
git worktree lockbehind; the periodic sweep now releases locks whose owning process is gone - Fixed SDK MCP servers registered via an
initializecontrol request waiting until the next turn to start connecting - Fixed returning to the agents view from a session leaving overlapping ghost frames with
CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN=1 - Fixed late-appearing
.claude/*symlinks not being reconciled into the sandbox deny-write list - Hardened the Agent tool against indirect prompt injection via content a subagent read
- Improved the Bash/PowerShell tool message when a command hits its timeout and is auto-backgrounded, so the model can distinguish a hang from an explicit background request
- Improved auto mode: the permission classifier now defaults to Sonnet 5 for external sessions, validated on the session's first request and pinned for the session
- Improved the bundled dataviz skill's chart color validation with perceptual OKLab color difference and recalibrated color-blindness thresholds
- Memory writes that leave a MEMORY.md index over its read limit now produce an explicit error instead of silent truncation
- Screen reader mode now announces permission mode changes aloud when cycling modes with Shift+Tab
- The agents footer hint now shows how many background agents are waiting on your input, with a brief color emphasis when the count changes
- Agent view: the session you pressed ← from stays visibly marked even after mouse hover or arrow keys move the selection
- Fable temporarily shows as unavailable in the advisor picker while a server-side issue causing Fable advisor failures is fixed
You can’t perform that action at this time.