← 返回更新日志

Claude Code v2.1.274

2026-09-17 · GitHub 原文
## 变更内容 - 内存使用率达到临界值时新增可见警告,并提供释放内存或安全重启的步骤 - 新增 `CLAUDE_CODE_MCP_STARTUP_WAIT_MS`,用于限制第一个非交互回合等待连接 MCP 服务器的时间(`0` = 不等待) - 为 OpenTelemetry 跟踪 span `claude_code.llm_request` 新增 `effort` 属性,与 `api_request` 事件保持一致 - 新增 `claude_code.managed_settings_resolved` OTel 事件:记录托管设置来源和策略辅助状态;设置内容和摘要会在 `OTEL_LOG_MANAGED_SETTINGS=1` 时进行脱敏 - 在 Claude 应用网关配置中新增 `store.connect_timeout_seconds`,用于延长 Postgres 连接超时时间(默认 5 秒);数据库不可访问时,启动错误现在会指出 `store.postgres_url` 和已配置的超时时间 - 新增 `enduser.sub`(IdP subject),供 Claude Desktop 和 Cowork 通过 Claude 应用网关发送遥测数据 - 当某个副本打开的请求数超过其一次向上游发送的 256 个请求时,Claude 应用网关现在会发出警告;启动日志也会显示该限制 - 全屏模式下,折叠的队友和代理消息现在支持点击展开 - 修复会因持续重试 “unexpected tool_use_id” 400 错误而卡死的会话:损坏的 transcript 现在会尽可能自动修复;否则会显示清晰的错误信息(包含 `/rewind` 提示)并结束循环 - 修复配置为 `http`、但仅支持旧版 HTTP+SSE 的 MCP 服务器在首次请求返回 422 或其他 4xx 错误时无法连接的问题 - 修复即使为每个服务器设置了更长的 `timeout`,Streamable HTTP MCP 工具调用仍会在约 5 分钟后超时的问题 - 修复服务器发送列表变更通知但未声明 `listChanged` 时,MCP prompts 和 resources 不会刷新的问题 - 修复 MCP 工具调用因 403 `insufficient_scope` 被错误报告为登录已过期的问题:现在会指出缺少的权限,并提示通过 `/mcp` 重新认证 - 修复由 hook 驱动的会话(例如活动中的 `/goal`)在响应式压缩后再次发生上下文溢出时,以 “Prompt is too long” 结束而不是进行压缩的问题 - 修复恢复(`--continue` / `--resume`)已发生压缩的会话时,活动中的 `/goal` 丢失的问题 - 修复 `claude agents` 在自动更新重新启动后丢失 `--model`、`--effort`、`--permission-mode`、`--allow-dangerously-skip-permissions` 和 `--agent` 参数的问题 - 修复语言服务器为数千个文件发布项目范围诊断时,每个回合都会变慢的问题 - 修复在 Bedrock、Vertex 或 Foundry 上使用 `model: "opus"` 的子代理,在模型 ID 不包含可识别模型系列时改变会话模型的问题(除非设置了 `ANTHROPIC_DEFAULT_OPUS_MODEL`) - 修复自托管 runner 在几次令牌刷新失败后,每个回合都因 401 失败并一直持续到下一次计划刷新才恢复的问题;runner 现在会持续重试,并在收到 401 后获取新令牌 - 修复在 VS Code 和其他要求使用 `file://` URI 的终端中,点击本地文件路径链接没有反应的问题 - 修复 transcript 会重新编号用户消息中的有序列表的问题(输入 “3. 2. 1.” 会显示为 “3. 4. 5.”);数字和 “N)” 标记现在会按输入内容显示 - 修复 AskUserQuestion 预览注释被附加到之前选中的选项,而不是当前高亮选项的问题 - 修复 AskUserQuestion 预览模式下,按 Enter 提交注释时高亮选项被丢弃的问题 - 修复后台代理恢复后,在某个工具调用通过带消息的方式获批时,仍保留中断工具批次一半内容的问题 - 修复使用 `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` 启动的本地 `claude -p --resume` 不报告上一个进程遗留的未完成后台任务的问题 - 修复云端会话的第一个回合有时在 SDK 托管的 MCP 服务器仍在连接时启动,导致缺少其工具的问题 - 修复后台代理通知声称代理没有正在运行的后台工作,但实际上它仍在等待自己的后台任务并会继续恢复的问题 - 修复 Claude Desktop 会话中的错误提示建议使用无法在那里使用的 CLI 参数的问题;现在会建议 `/usage-credits` 等斜杠命令 - 修复当 Claude 以 routines 列表返回的格式写入 routine 时,`/schedule` 保存 routine 提示词时缺少消息角色的问题 - 修复 `/status` 不显示 `apiKeyHelper` 失败信息的问题,即使其错误横幅提示用户检查该信息 - 修复非交互会话中的 `/fast on` 在组织托管的快速模式策略下先报告已启用、随后又关闭的问题;现在会说明组织已禁用该功能 - 修复 Artifact 工具要求批准更新某个 artifact,但随后又因会话未读取最新版本而拒绝更新的问题 - 修复 Cowork 和 claude.ai 云端会话在启用网络访问时,将读取队友 artifact 的行为当作网络访问关闭的问题 - 修复插件或 marketplace 目录自身没有 Git 仓库时,从外层 Git 仓库(例如由 Git 管理的 `~/.claude`)获取版本的问题 - 修复 `--strict-mcp-config` 配合空的 `--mcp-config` 时,因附带 MCP 服务器而让第一个非交互回合等待最长 `MCP_TIMEOUT` 的问题 - 修复 Stop prompt hook 在对话中的每次阻止操作都重新发送完整提示词的问题;重复阻止现在会使用不超过 500 个字符的标签说明触发条件 - 修复 Linux 在 Wayland 下、通过 Cursor 或 VS Code 终端运行时,启动时打开多余空编辑器窗口的问题 - 修复 Claude 应用网关在 Postgres 于 spend 检查期间断开连接时出现未处理的 promise rejection 的问题 - 修复 Claude 应用网关在收到 SIGTERM 时切断所有打开的流的问题;现在会允许正在处理的请求最多完成 25 秒后再退出(`CLAUDE_GATEWAY_DRAIN_TIMEOUT_MS`) - 修复当插件策略来自远程托管设置时,`installed_plugins.json` 几乎每次启动都会被重写,导致 Claude Desktop 重新加载所有打开会话的插件的问题 - 修复无头会话和 SDK 会话为每个已完成的后台任务单独发起模型调用的问题;已排队的完成结果现在会通过一次调用统一处理 - 修复 Bash 工具在每次插件重新加载后重新加载 shell profile,导致下一条命令出现数秒停顿的问题;现在只有在插件的 `bin/` 目录发生变化时才会执行该操作 - 修复 `hooks/hooks.json` 顶层包含 `$schema` 的插件显示 “unknown key” 提示的问题 - 修复 MCP 连接错误和 MCP 登录工具描述中显示 MCP 配置内 `${VAR}` 占位符解析后秘密值的问题 - 修复 Bash 对循环处理或赋值给某些特殊 shell 变量的命令不进行权限检查的问题;这些命令现在会请求权限 - 修复 worktree 隔离会话接受包含某些嵌套 shell 展开的 Bash 命令的问题;此类命令现在会被拒绝 - 修复 Edit 权限提示预览在包含多字节字符的文件中,有时显示与已批准编辑不同位置的问题 - 修复后台命令在内存压力较轻的机器上空闲 30 分钟后被停止的问题;现在只有内存达到临界值时才会停止,调试日志也会说明原因 - 修复子代理发送给主会话的消息在重新启动后从 Claude Desktop transcript 中消失的问题 - 修复从 `.zip` 加载的插件在多次重叠重新加载后仍从过期解压目录提供服务的问题 - 修复子代理的进度摘要被失控的多段回复替换的问题 - 改进 `--input-format stream-json` 会话的启动:第一个回合不再为仍在连接、且其工具搜索被延迟的 MCP 服务器等待最长 2 秒;这些工具会在后续回合到达 - 改进 Monitor 工具通知:脚本的最终输出和退出状态现在会作为一条通知到达,而不是两条,从而节省一个模型回合 - 改进 Artifact 工具错误:未登录 claude.ai 时,终端会在首次尝试时直接说明这一点,同时会告知 Claude 更早停止重试被拒绝的调用 - 改进 artifact 发布:基于旧版本构建的发布请求会在发送前被阻止,并提供需要合并的新页面 - 改进移除包含子模块检出的代理 worktree 前的安全检查 - 改进 `OTEL_LOG_RAW_API_BODIES=file:<dir>` 输出:新增 `index.jsonl`,以及 `request_body_id` / `message.id` 事件属性,用于将每个响应关联到其请求文件和 transcript 消息 - 改进 Claude 应用网关启动流程:现在会在退出前最多尝试三次首次 Postgres 连接,因此数据库晚几秒可用时不会再导致启动失败 - 改进高负载下 Claude 应用网关的 spend-limit 检查:现在只需一次数据库往返,而不是四次,因此繁忙网关上的超时检查会减少 - 改进 Claude 应用网关登录限流错误:`/login` 现在会解释拒绝原因,网关日志会说明触发了哪个限制以及应修改哪个设置 - Bedrock、Vertex、Foundry 以及禁用遥测的安装现在默认使用 v2 MCP 客户端,并默认使用 MCP 2026-07-28 协议与直接 HTTP 服务器协商,其他安装此前已采用该行为(可通过 `MCP_SDK_GENERATION=v1` 或 `MCP_PROTOCOL_NEGOTIATION=legacy` 退出) - `/code-review` 现在会对没有专门调优设置的每个模型使用更精简的内联审查提示词,而不是启动大量审查子代理 - `.mcp.json`、设置、插件和代理文件中的 `"type": "sdk"` MCP 条目现在会被跳过并显示警告:只有 SDK host 应用才能注册进程内服务器 - 更改本地会话中的 artifact 监视行为:其他位置发布的新版本不再启动新的回合;Claude 会在后续 Artifact 工具结果中获知该版本 - 插件和 marketplace 克隆现在会保留 Git LFS 文件指针,不再下载文件;在检出目录中运行 `git lfs pull` 即可获取这些文件 - 自托管 runner 现在会在 Git 主机于访问检查时拒绝只读仓库时跳过该仓库,而不是导致会话启动失败 - `/status` 中的 GitHub 行现在显示为 “Cloud sessions”;`/web-setup`、`/ultrareview` 和 teleport 消息现在使用 “cloud session”,而不是 “Claude Code on the web” - [VSCode] 新增对窗口重新加载中断的步骤继续执行功能,并在聊天中标记;新增 `Claude Code: Continue After Reload` 设置,可用于关闭该功能 - [VSCode] 在 Customize 菜单中新增 Memory 和 Instructions 条目:Memory 显示自动记忆开关、已保存记忆和记忆目录;Instructions 用于编辑 `CLAUDE.md` 文件 - [VSCode] 新增 `claudeCode.lockEditorGroups` 设置,用于阻止 Claude 锁定其打开的编辑器组 - [VSCode] 修复在新对话开始后的最初几秒内提出 `/btw` 侧问题时,偶尔显示其他会话侧问题历史的问题 - [VSCode] 修复扩展首次查找全局 gitignore 文件时短暂卡顿的问题 - [VSCode] 修复 Claude 正在运行工具时发送的消息在窗口重新加载后从对话中消失的问题 - [VSCode] 修复 Manage Plugins 启用开关和 MCP servers 对话框中的行无法通过键盘访问的问题 - [VSCode] 修复在 Environment Variables 设置中更改 `CLAUDE_CONFIG_DIR` 后,终端中进行的登录和登出操作要到重新加载后才显示的问题 - [VSCode] 修复聊天中的 Edit diff 在某些面板宽度下以及长换行文本中底部被截断的问题;diff 框现在会适配所显示的行 - [VSCode] 修复扩展中重叠的设置写入导致 `~/.claude/settings.json` 无法解析或丢失设置的问题 - [VSCode] 修复 Open in New Tab(Ctrl/Cmd+Shift+Esc)有时导致新标签页的消息框未获得焦点,必须点击后才能输入的问题 - [VSCode] 修复重新打开已关闭的 Claude 标签页时,如果其锁定组中仍有另一个 Claude 标签页和文件,会拆分编辑器布局的问题 - [VSCode] 修复新建会话在文件标签页与 Claude 标签页共享编辑器组时,会打开另一个锁定编辑器组的问题 - [VSCode] 修复在会话选择器中输入搜索查询时,会话名称横向移动的问题 - [VSCode] 修复计划包含多条评论时,计划审查卡片截断 Send feedback 按钮和原因字段的问题;评论列表现在支持滚动 - [VSCode] 修复 High Contrast 主题下聊天回复中的行内代码和代码块难以阅读的问题 - [VSCode] 改进对话的屏幕阅读器导航:每条消息现在会播报为 “You” 或 “Claude”,工具步骤还会播报工具名称 - [VSCode] 当 `XDG_CONFIG_HOME` 是绝对路径时,将默认全局 gitignore 文件改为 `$XDG_CONFIG_HOME/git/ignore` - [Claude Code on the web] 为云端会话的 diff 视图新增 “Compare against” 分支选择器,可将变更与任意分支进行比较,而不再只能与基础分支比较 - [Claude Code on the web] 修复 GitHub 令牌续期暂时出错时,云端会话中的 Git 操作失败并显示 “service unavailable” 的问题 - [Claude Code on the web] 修复编辑 routine 时偶尔触发两次,或重新启用刚刚暂停的 routine 的问题 - [Claude Code on the web] 修复云端会话在会话凭据刷新后的几分钟内偶尔因签名错误导致提交失败的问题 - [Claude Code on the web] 修复保存 GitHub 触发器无法关联的 routine 后,提示条只显示 “edit to retry” 而不说明原因的问题;现在会显示具体原因,例如仓库级触发器数量限制 - [Claude Code on the web] 修复将会话标记为已读后,有时立即又恢复为未读的问题 - [Claude Code on the web] routine 所有者缺少 GitHub 连接时,现在会跳过一次运行并最多重试 72 小时,而不是在首次检查失败时关闭 routine - [Claude Code on the web] 更改 routine 暂停通知:订阅暂停时,现在会告知用户自行重新启用 routine,而不再承诺自动恢复 - [Claude Tag] 在 Claude Tag 管理设置的 Add channel 和 Add workspace 表单中新增 Guests 设置,使所有者可以预先选择 Inherit、Allow、Channel only 或 Restrict - [Claude Tag] 修复当另一个 Slack 应用或 bot 使用 @mention 提及 Claude 时 Claude 不回复的问题;现在会回复,并会唤醒 Claude,使其继续关注一个因数天不活跃而停止关注的频道 - [Claude Tag] 修复新建 Slack 频道后,另一个应用立即发送并标记 @Claude 的消息被 Claude 遗漏的问题;Claude 加入频道后现在会收到该消息 - [Claude Tag] 修复 Claude 将在上一条 Slack 消息数分钟后发送的后续消息折叠为静默编辑的问题;较晚的更新(例如阻塞事项)现在会作为新的回复发布并触发通知 - [Claude Tag] 修复 Claude 在单个频道内搜索时 Slack 搜索总是返回错误的问题;现在会返回该频道中匹配的消息 - [Claude Tag] 修复安全过滤器停止后,在无人等待时静默重置 Slack 线程上下文的问题;Claude 现在总会说明这一情况,并且不会再取消仍在运行的后台工作 - [Claude Tag] 修复 Claude 的 Slack 回复中的电子邮件地址显示可见 `mailto:` 前缀的问题;现在会显示为普通的可点击地址 - [Claude Tag] 修复当从网格中的另一个工作区发起请求时,Claude 拒绝关注与整个组织共享的 Enterprise Grid 频道的问题 - [Claude Tag] 修复 Claude Tag 管理设置中的 Environment 选择器对已归档或由应用创建的环境显示原始环境 ID,而不是环境名称的问题 - [Claude Tag] 改进 Claude 在 Slack 中的实时进度清单:上限为 2,000 个字符;繁忙线程中最多每 15 分钟重新发布一次;较旧的 “Latest task list” 链接会同步更新 - [Claude Tag] 移除 Claude 在使用 “Channel only” 访客设置的频道中每次编辑 Slack canvas 时重复附加的访客归属说明 - [Code Review] 修复重新审查时,如果新审查又在已修复的问题下添加了较低严重级别的备注,偶尔会使已修复问题的线程保持打开的问题 - [Code Review] 修复 GitHub 或内部服务在启动时暂时失败,导致审查很少以 “Code review encountered an error” 结束的问题;现在会等待并重试 - [Code Review] 改进 Code Review 发布每个问题时的措辞:使用简短直白的句子,先说明受影响对象、代码出错位置以及修复方式 - [Code Review] 改进因组织限制而跳过审查时的检查运行卡片和 PR 评论:每个原因现在都会链接到可解决该问题的管理页面