开源Claude Code Releases·原文 2026年9月19日

Claude Code v2.1.277新增AGENTS.md支持

在没有CLAUDE.md的项目中,Claude Code改读AGENTS.md;同时新增网关出站边界环境变量,并修复大量对话、插件、界面与沙箱问题。

AI解读:这次更新最实用的变化是配置文件兼容:项目里没有CLAUDE.md时,Claude Code会改读AGENTS.md,可在 /config的Project instructions里修改。但它还没覆盖Bedrock、Vertex和Foundry。

对企业网关用户,新增的CLAUDE_GATEWAY_PROXY_IS_EGRESS_BOUNDARY=1 让出站请求把主机名交给代理解析,而不是本地解析;上游还可以配置静态headers。这类改动影响的是网络边界和代理部署方式。

其余大部分是修bug:claude -p内部错误后不再无结果挂起而是报错退出、代理返回无效版本不再让更新检查每 30 分钟报错、多个崩溃和登录被踢问题、插件安装重装、Windows路径与内存错误、PDF读取等。使用CLI、SDK或IDE扩展的人更可能直接感受到这些修复。

这仍是常规维护版本,没有新模型或能力突破。真正需要留意的是AGENTS.md目前只在非Bedrock/Vertex/Foundry环境生效,依赖这些平台的项目不应假设它已经可用。

Claude Code发布v2.1.277。发布说明显示,在项目没有CLAUDE.md时,Claude Code会改读AGENTS.md,用户可在 /config的 "Project instructions" 下修改;该能力暂不支持Bedrock、Vertex和Foundry。

网关新增出站边界与静态头配置

版本新增环境变量CLAUDE_GATEWAY_PROXY_IS_EGRESS_BOUNDARY=1,用于唯一出站通道是正向代理的Claude apps网关:所有出站请求把主机名交给代理,而不是在本地解析。

Claude apps网关上游新增可选的headers: 映射,用于向运行在提供商前方的代理发送静态请求头。

挂起、崩溃与登录问题集中修复

claude -p和Agent SDK会话在内部错误后可能无结果挂起,现在会报告错误并以退出码 1 退出。

早期assistant轮次在其它内容旁带有空文本块时,对话每个请求都会报 "text content blocks must be non-empty",--resume之后同样受影响;该问题已修复。

同一台机器上运行旧版Claude Code(例如IDE扩展内置的CLI)时被意外登出的问题已修复。

当 ~/.claude.json中customApiKeyResponses值格式错误时,使用ANTHROPIC_API_KEY的用户交互式启动会挂起或报错,该问题已修复。

代理返回无效版本时,更新检查每 30 分钟报错、claude update在设置最低或最高版本时挂起的问题已修复;格式错误的minimumVersion现在被忽略。

还修复了多处崩溃,包括 /mcp或 /plugin manage遇到格式错误的claudeAiMcpEverConnected值、启动时theme值格式错误、提示词包含终端颜色码、恢复保存历史为纯字符串的assistant消息、慢速或高负载机器上首个spinner出现时以 "unrecoverable interface error" 退出,以及内部渲染错误后屏幕停止更新。

工具、沙箱与缓存相关修复

Grep和Glob在因系统进程、内存或文件句柄耗尽而无法启动搜索时曾报告无匹配,现在会返回相应错误。

Write工具在目标路径是已存在目录时,曾静默以权限被拒结束轮次,现在会返回明确错误。

Edit工具曾把转义反斜杠后跟uXXXX的文本当作 \uXXXX转义处理,可能让非ASCII字符的编辑改写转义反斜杠序列;还曾对未匹配的超大非ASCII编辑报 "Invalid regular expression: regular expression too large",而不是 "String not found in file"。

工具调用文件路径包含以转义序列写入的 \u0000时,轮次曾提前以 "Path contains null bytes" 结束;转义控制字符现在保持为字面文本。

后台会话claude --bg在插件的LSP服务器退出或关闭stdin时曾退出,已修复。

沙箱方面,sandbox.excludedCommands通配符曾在一个复合Bash命令只有一部分匹配时豁免整条命令;现在要求每一部分都匹配。此外,在启用沙箱时,沙箱外运行的Bash命令中 $TMPDIR曾展开为空,已修复。

缓存与恢复方面,/clear之后继续的会话(restart、--continue、--resume)在SessionStart钩子有输出时,首条消息会缺失一部分,导致完整提示缓存未命中;该问题已修复。恢复的子代理和队友曾重新渲染已加载的MCP工具定义,破坏该代理的提示缓存,也已修复。

插件、市场与策略修复

claude plugin install重装某个正被会话或其它程序使用的插件版本时,曾失败并破坏已安装副本;现在会保留未变化的副本。

企业市场策略方面,一条格式错误的strictKnownMarketplaces或blockedMarketplaces条目曾静默禁用整个策略,已修复。

官方市场的插件在installed_plugins.json中曾缺少commit记录;更新固定commit的插件后该文件保留旧commit,也已修复。

插件重载预览曾把每个预览副本解包保留到退出,并在下载失败回退时覆盖缓存的 --plugin-url归档,现已修复。

界面、SDK与其它改动

新增一条提示:当 /tasks等面板打开时后台任务完成,会显示其更新正在等待。

针对SDK和无头(-p)用途改进会话启动:第一轮不再等待按目录查找CLAUDE.md。

改进提示词处理:提示词中不可见的Unicode格式和标签字符会被移除,清洗后的提示词在发送前可供查看。

移除已弃用的TaskOutput工具;Claude改用Read读取后台任务的输出文件,taskOutputMaxChars设置和TASK_MAX_OUTPUT_LENGTH不再生效。

claude -p在非SDK或IDE场景启动时,不再发起后台Haiku自动标题请求。

信息来源