← 返回更新日志

Claude Code v2.1.277

2026-09-18 · GitHub 原文
## 有哪些变化 - 新增 AGENTS.md 支持:在没有 CLAUDE.md 的项目中,Claude Code 会改为读取 AGENTS.md;可在 `/config` 的“项目指令”中修改(Bedrock、Vertex 或 Foundry 尚未支持) - 新增 `CLAUDE_GATEWAY_PROXY_IS_EGRESS_BOUNDARY=1`,适用于唯一出口是正向代理的 Claude apps 网关:每个出站请求都会将主机名交给代理,而不是在本地解析 - 为 Claude apps 网关上游新增可选的 `headers:` 映射,用于向你部署在提供商前方的代理发送静态请求头 - 新增提示:当后台任务在 `/tasks` 等面板打开期间完成时,会显示一行提示,告知该任务的更新正在等待查看 - 修复 `claude -p` 和 Agent SDK 会话在内部错误后可能一直无结果挂起的问题;现在会报告错误并以代码 1 退出 - 修复当较早的助手消息在其他内容旁包含空文本块时,会话后续每次请求都失败并显示“文本内容块必须非空”的问题;使用 `--resume` 恢复后也同样修复 - 修复旧版 Claude Code(例如 IDE 扩展捆绑的 CLI)与当前版本在同一台机器上运行时,用户意外被登出的问题 - 修复 `~/.claude.json` 中的 `customApiKeyResponses` 值格式错误时,使用 `ANTHROPIC_API_KEY` 的用户交互式启动卡住或显示错误的问题 - 修复更新检查每 30 分钟报错,以及设置了最低或最高版本时 `claude update` 卡住的问题(当代理返回无效版本时);现在会忽略格式错误的 `minimumVersion` - 修复由 winget 或 apk 管理的安装在版本查询失败时,`claude update` 仍报告“已是最新版本”的问题 - 修复重新安装会话或其他程序正在使用的插件版本时,`claude plugin install` 有时失败并破坏已安装副本的问题;现在如果副本未发生变化,会保留原副本 - 修复当搜索因系统进程数、内存或文件句柄耗尽而无法启动时,Grep 和 Glob 报告没有匹配结果的问题;现在会返回明确说明原因的错误 - 修复目标路径是现有目录时,Write 工具无提示地以权限被拒绝结束回合的问题;现在会报告清晰的错误 - 修复 Edit 工具将转义反斜杠后跟 `uXXXX` 文本误认为 `\uXXXX` 转义的问题;这可能导致编辑非 ASCII 字符时错误地改写转义反斜杠序列 - 修复包含非 ASCII 文本的大型编辑内容不匹配文件时,Edit 工具报告“无效正则表达式:正则表达式过大”,而不是“文件中未找到字符串”的问题 - 修复工具调用的文件路径包含以转义序列形式写入的 `\u0000` 时,回合提前结束并显示“路径包含空字节”的问题;转义控制字符现在会保持为字面文本 - 修复后台会话(`claude --bg`)在插件的 LSP 服务器退出或关闭其标准输入后退出的问题 - 修复 `~/.claude.json` 中的 `claudeAiMcpEverConnected` 值格式错误时,打开 `/mcp` 或 `/plugin manage` 崩溃(“类型错误”)的问题 - 修复 `~/.claude.json` 中的 `theme` 值格式错误时,启动即崩溃的问题 - 修复提示词包含终端颜色代码时崩溃(“不可恢复的界面错误”)的问题,例如从历史记录恢复的提示词,或从外部编辑器加载的文本 - 修复恢复历史记录中保存为普通字符串的助手消息所在会话时崩溃的问题 - 修复在运行缓慢或负载较高的机器上,会话有时在首次显示 spinner 时退出并显示“Claude Code 在发生不可恢复的界面错误后退出”的问题 - 修复一个罕见问题:内部渲染错误发生后,屏幕可能在会话剩余时间内停止更新 - 修复 Windows 上一个罕见问题:Claude 回复后回合可能立即因“内存不足”等错误停止,导致该回复中的工具调用无法执行 - 修复通过 `/clear` 继续的会话(重启、`--continue`、`--resume`)在 SessionStart hook 输出内容时,首条消息缺少部分内容并导致完整提示缓存未命中的问题 - 修复其他代理发送的消息(例如子代理的 SendMessage)在回合中途到达时,显示在“已运行 N 个 shell 命令”行下方,而不是显示在消息实际到达的位置 - 修复在全屏 `/resume` 选择器和其他覆盖提示词区域的面板中拖选文本后不显示“已复制”提示的问题 - 修复启用沙箱时,在沙箱外运行的 Bash 命令中 `$TMPDIR` 展开为空的问题 - 修复 Cowork 云会话中的 WebFetch 和 WebSearch 未告知 Claude 请求被拒绝原因的问题,例如抓取配额已用尽或受到管理员策略限制 - 修复 Claude apps 网关遥测中继在设置代理时忽略 `NO_PROXY` 中列出的收集器主机名或域名的问题 - 修复一条格式错误的 `strictKnownMarketplaces` 或 `blockedMarketplaces` 条目会静默禁用整个企业市场策略的问题 - 修复自动更新失败后在 `~/.cache/claude/staging` 中留下大量暂存下载文件的问题 - 修复 `/plugin` 在 Installed 标签页的消息中未去除终端控制字符的问题,例如插件更新失败的错误消息 - 修复当技能或旧版命令使用类似内置 Object 属性(例如 `constructor` 或 `toString`)的名称时,`/plugin` → Installed 和 `/skills` 崩溃的问题 - 修复多选安装全部失败时,`/plugin` 关闭且不显示任何消息的问题 - 修复已卸载插件重新出现在 `/plugin` Installed 中并显示为“加载失败”,且 Remove 无法清除此行的问题 - 修复官方市场中的插件记录到 `installed_plugins.json` 时缺少 commit,以及更新固定 commit 的插件后 `installed_plugins.json` 仍保留旧 commit 的问题 - 修复插件重新加载预览会一直保留插件归档的每个预览副本直到退出,以及下载失败时覆盖重新加载所回退使用的缓存 `--plugin-url` 归档的问题 - 修复 `~/.claude.json` 中存在格式错误的占位记录时,Remote Control 会话记录失败的问题 - 修复撤销 claude.ai 登录后的错误消息将问题归咎于 Anthropic 配置文件过期的问题;现在会优先引导用户使用 `/login` - 修复在按键重复或输入速度很快时,`claude agents` 分派输入框中输入或粘贴的文本偶尔出现乱码的问题 - 修复恢复保存的会话记录中包含停止 hook 摘要、但没有格式正确的 hook 列表时崩溃(“不可恢复的界面错误”)的问题 - 修复当 `keybindings.json` 在 Chat 上下文中重新绑定 Enter(例如绑定为 `chat:queueSubmit`)时,在选中的代理面板行上按 Enter 无效的问题 - 修复 Windows 上工作文件夹路径较长(约 120 个字符或更多)时读取 PDF 页面失败的问题 - 修复无头恢复(`claude -p --resume`、SDK、VS Code 扩展窗口重新加载)将会话成本和使用量统计从零开始的问题;无头会话现在会在退出时保存统计数据 - 修复 `.claude/skills` 未被跟踪时,`--worktree` 会话无法加载主仓库中的项目技能的问题 - 修复 `sandbox.excludedCommands` glob 在仅有一部分匹配时豁免整个复合 Bash 命令的问题;现在每一部分都必须匹配 - 修复恢复的子代理和队友重新渲染已加载的 MCP 工具定义,从而破坏该代理提示缓存的问题 - 修复速率受限的构件发布会告诉 Claude 停止重试的问题;现在会告诉 Claude 没有任何内容发布成功,以及何时可以再次发送相同的发布请求 - 修复会话中较早记录的附件在恢复或重新启动后被重新渲染,导致扩展思考内容丢失并错过提示缓存的问题 - 修复 Console 登录在服务器拒绝创建 API 密钥时只显示“请求失败,状态码为 400”的问题;现在会显示服务器返回的消息 - 修复 Claude 仍在工作时输入的消息有时会被模型忽略的问题 - 改进 SDK 和无头模式(`-p`)的会话启动速度:首个回合不再等待按目录查找 CLAUDE.md - 改进 Claude apps 网关的回环错误消息,使其明确提到 `CLAUDE_GATEWAY_ALLOW_LOOPBACK` - 改进 `/plugin` Installed:当某个 MCP 服务器单独列出而不在其插件下方时,现在会显示它属于哪个插件 - 改进对已安装插件执行 `claude plugin install` 的提示:当市场提供更新版本时,现在会说明这一点,并指出 `claude plugin update` 命令 - 改进 logo 下方启动提示的溢出行:现在显示“N 条更多提示已隐藏”,而不是“+N 条更多 · /status” - 改进提示词处理:提示词中的不可见 Unicode 格式字符和标签字符会被删除,并在发送前显示清理后的提示词供用户确认 - 改进没有内容可审查时的 `/ultrareview`:消息会说明当前所属情况,提供审查最新 commit 的命令,并完整审查新仓库的首个 commit - 改进构件链接处理:当 Artifact 工具可用时,Claude 会使用 Artifact 工具读取 claude.ai 构件链接,而不是使用 WebFetch - 改进危险 rm 权限提示:会指出被标记的 rm 命令,并建议使用 `${VAR:?}` 防护,以便无头运行能够恢复 - 改进 Artifact 工具的权限提示:使用更短的句子,按标题或文件名标出页面和构件,并将链接列在文本之后 - 更改 Fable 在 Anthropic API 上始终显示在 `/model` 中;只有在组织设置禁用它时才会显示为灰色 - 更改 Bedrock、Vertex 和 Foundry 上的 Bash 沙箱说明,改为使用第一方措辞,将沙箱描述为任务被赋予的边界 - 更改非交互式会话中的 `/ultrareview`:当仓库没有基分支或共享历史时拒绝执行 - 更改子代理结果传递给主代理的方式:现在会使用标记为子代理输出的标题,结果内容会缩进显示,使子代理结果中的文本无法被误认为是会话自身的指令 - 更改 Bedrock、Vertex 和 Foundry 上工作流脚本计算出的 `agent()` 提示词:现在会以脚本编写文本的形式传递给子代理,使安全分类器不会将其识别为用户输入 - 移除从 SDK 或 IDE 外部启动的 `claude -p` 运行中的后台 Haiku 自动标题请求 - 移除已弃用的 TaskOutput 工具;Claude 会改用 Read 读取后台任务的输出文件,`taskOutputMaxChars` 设置和 `TASK_MAX_OUTPUT_LENGTH` 也不再生效 - [VSCode] 在面板菜单中新增“退出登录”行,并在输入命令菜单中加入 `/logout` - [VSCode] 在代理地图中新增后台 shell 和其他运行中的任务,每个任务都有 Stop 操作,并支持输入 `/tasks` 打开该视图 - [VSCode] 在回复上新增“复制回复”按钮,并支持输入 `/copy` - [VSCode] 新增一次性提示:非活动会话会被自动归档;同时在“已归档会话”分组中新增“全部取消归档”操作 - [VSCode] 在不适用计划限制的环境(Vertex、Bedrock、Foundry、API 密钥)中,将会话成本和 token 使用量加入“账户与使用量”对话框及会话管理器 - [VSCode] 修复“常规配置”菜单行显示 `/config` 使用说明而不是打开设置的问题;并使输入 `/mcp`、`/hooks`、`/memory`、`/rewind` 等命令能够打开对应对话框 - [VSCode] 修复在已经通过 `/effort` 为某个模型保存等级后,effort 滑块等级无法持久化到后续会话的问题 - [VSCode] 修复在已使用过的面板中打开会话、且保存的模型设置是大小写不同的别名(例如“Sonnet”)时,模式选择器中缺少 Auto 的问题 - [VSCode] 修复 `/fast` 未将快速模式保存为默认设置,导致扩展重新启动 Claude Code 后快速模式丢失的问题 - [Claude Code 网页版] 在 Team 和 Enterprise 计划的环境选择器中新增“个人”和“组织”分组;管理员现在可以与组织共享个人环境 - [Claude Code 网页版] 更改 Team 和 Enterprise 计划中的组织环境:从 Code 标签页打开时显示只读摘要,编辑操作位于“管理员设置 → 云环境” - [Claude Code 网页版] 修复使用自定义网络访问且未配置域名的云环境会静默恢复为 Trusted 的问题;现在对话框会要求至少填写一个域名 - [Claude Code 网页版] 将管理员 Claude Code 设置中的“Web”改为“云会话”,并移除其下方重复的只读 Mobile 行 - [Claude Tag] 修复在 Enterprise Grid 组织范围安装中于 Slack 频道创建的例程运行时无法读取工作区中其他公开频道的问题 - [Claude Tag] 修复 Claude Tag 访问包中凭据预设的“了解更多”链接打开通用 API 参考页面,而不是各供应商凭据配置页面的问题 - [Claude Tag] 更改 Claude Tag 访问包中的 Pylon 凭据预设,使管理员可以将其指向 Pylon 的欧盟主机 - [Claude Tag] 修复 Claude Tag 访问包中的 Google Cloud 凭据表单:拒绝的密钥文件现在会说明原因,网站和权限范围保持锁定,轮换被拒绝后仍会保留已粘贴的密钥 - [Claude Tag] 修复 Claude Tag 管理员设置中的网络事件日志:对于通过使用 AWS 签名、客户端证书或自定义 CA 的连接发出的请求,不再缺少响应状态