← 返回更新日志

Claude Code v2.1.212

2026-07-17 · GitHub 原文
## 变更内容 - `/fork` 现在会将你的对话复制到一个新的后台会话中(在 `claude agents` 中占据独立行),同时你可以继续当前工作;它原先启动的会话内子代理已改为 `/subtask` - 新增 `claude auto-mode reset` 命令,用于恢复默认的自动模式配置,并带有确认提示(传入 `--yes` 可跳过确认) - 新增针对 WebSearch 工具调用的会话级限制(默认 200 次,可通过 `CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION` 调整),以防止搜索循环失控 - 新增针对子代理生成的会话级上限(默认 200 次,可通过 `CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION` 覆盖),以防止委托循环失控;`/clear` 可重置该预算 - 运行超过 2 分钟的 MCP 工具调用现在会自动移至后台,以保持会话可用;可通过 `CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS` 配置阈值或禁用此功能 - 在代理视图中输入 `/resume` 现在会打开一个过往会话选择器——包括已从列表中删除的会话——并将选中的会话作为后台会话恢复 - 修复了计划模式下自动运行修改文件的 Bash 命令(如 `touch`、`rm`)时缺少权限提示或 SDK `canUseTool` 回调的问题 - 修复了跟随仓库中提交的符号链接 `.claude/worktrees` 创建工作树时,可能将文件创建到仓库外的问题 - 修复了当工具失败或中途完成时,`continue:false` 钩子的中止被丢弃的问题,以及钩子基础设施错误被误报为用户拒绝的问题 - 修复了在打印/SDK 模式下,运行中的 Bash 工具收到 SIGTERM 信号会导致命令进程树成为孤儿的问题;CLI 现在会中止当前轮次、杀死进程树并以退出码 143 退出 - 修复了在 Windows 上,当组策略阻止 PowerShell 5.1 时,`/background` 和 `claude --bg` 因 "EUNKNOWN: unknown error, uv_spawn" 失败的问题;守护进程现在优先使用 PowerShell 7 - 修复了 Shell 模式(`!`)在路径自动补全弹出窗口打开时无法执行包含文件路径的命令的问题 - 修复了当自动模式拒绝原因较长且被截断(中间包含 emoji)时,拒绝通知显示乱码字符的问题 - 修复了在支持扩展按键报告的终端上,Ctrl+J 无法在代理视图的调度输入中插入换行的问题,并在 `?` 帮助覆盖层中显示了换行快捷键 - 修复了 `/ultrareview` 拒绝 PR 引用(如 `#123`、`PR 123` 以及粘贴的 PR 网址)的问题;错误提示现在会显示你实际输入的命令 - 修复了 `/ultrareview <branch>` 在分支远程存在时未从 origin 拉取的问题;现在会在拼写错误时建议最近的分支名 - 修复了 `/ultrareview` 在 `/clear` 后新的对话中跳过计费确认的问题 - 修复了在 Claude Desktop 上 `/ultrareview` 报 "not a git repository" 错误时,现在建议项目的仓库文件夹而非终端命令 - 修复了托管(host-managed)会话在启动时因仓库配置了 mTLS 证书、额外 CA 捆绑或 OAuth 范围而失败的问题;现在会忽略这些传输设置并给出警告 - 修复了在恢复会话前,对已使用偏移量/限制读取过的文件进行编辑时,出现虚假的 "File has not been read yet" 错误 - 修复了在打印/SDK 模式下使用 `--continue`/`--resume` 恢复会话后,`ExitWorktree` 因 "no active EnterWorktree session" 而失败的问题 - 修复了在会话中途加入的远程控制客户端的工作流代理网格保持为空的问题 - 修复了流式模式控制请求在其处理程序完成之前被标记为已完成的问题,这可能导致会话重启时请求丢失 - 修复了使用 `/fork` 创建的后台会话在状态写入失败后丢失活动父保护的问题 - 修复了从代理视图重新打开已停止的后台会话时静默失败的问题——现在会恢复该会话,或者显示无法恢复的原因并允许强制重启 - 修复了代理团队:当团队初始化在会话内重新运行时,正在停止的队友可能向领导者发送重复的空闲通知的问题 - 修复了计划审批对话框底部将 "ctrl+g to edit in <editor>" 在文件路径较长时分隔开的问题 - 修复了在全屏模式下终端同时调整宽度和高度后,欢迎横幅保持旧面板宽度的问题 - 修复了差异预览在窄布局中丢失行号和 +/- 标记的问题 - 修复了 @-引用在部分文件读取后附加空内容、插件卸载定位到错误市场、以及退出码 143 时虚假的 "Command timed out" 问题 - 修复了 OpenTelemetry HTTP 导出被 Azure Monitor 及其他不接受分块传输编码的端点以 411/400 拒绝的问题 - 修复了在 SDK/无头模式下设置了 `TRACEPARENT` 时,OTLP 事件日志记录缺少 `trace_id`/`span_id` 的问题 - 修复了包含大量图片的对话错误地报 "Request too large" 失败的问题,并改进了错误消息以解释实际原因 - 修复了当 API 过载时,网页搜索和网页获取将 "API Error" 文本作为搜索结果或页面内容返回的问题 - 通过重试 529 错误和限流请求(使用有界退避)改进了网页搜索和网页获取的可靠性 - 改进了提示缓存:对话中期的系统块现在可在 LLM 网关和自定义基础 URL(Bedrock、Vertex、1P)后工作 - 改进了后台代理附加:冷附加现在会在会话启动时立即显示格式化的对话记录,而不是空白等待 - 减少了代理间消息传递中的令牌使用量:`SendMessage` 正文不再重复放入重放历史记录和工具结果中 - 将 `/fork` 的行为改为:当会话没有标题时,以你的提示词命名副本,以便在代理视图中能识别该行 - 将裸 `/btw` 的行为改为:重新打开最近一次交流的侧边问题面板,方便你浏览之前的回答 - 将 `←` 页脚提示改为:当后台代理完成且无需你输入时,短暂显示 `N done` 脉冲 - 弃用了 Task 工具的 `mode` 参数(现被忽略);子代理默认继承父会话的权限模式 - 将 Enterprise 的 `forceLoginMethod` 强制执行范围扩展到 VS Code 扩展、SDK、`setup-token` 和 `install-github-app` 登录,而不仅限于终端 - 将会话记录改为记录每条助手消息的推理努力级别 - 将无头/SDK 会话改为在轮次中应用 `set_model` 控制请求;下一个模型往返将使用新模型,而无需等待下一轮次 - 将代理视图 / `claude agents --json` 的行为改为:等待沙箱、MCP 输入或托管设置提示的会话现在显示为 "Needs input" 而非 "Working" - 将认证状态面板标题从 "Cloud authentication" 更新为 "Authentication" - 修正了先前发布说明(2.1.200)中的错误:tmux 在 3.6 系列中缺乏同步输出;支持此功能的较新 tmux 会被自动检测