AI 编程开发

Claude Code v2.1.319 发布:自动模式网关校验调整与 MCP 任务后台化

Anthropic 发布 Claude Code v2.1.319,重点改动自动模式在遥测或功能开关关闭、以及部署在 LLM 网关之后时的服务端检查逻辑,同时为终端加入 MCP 任务后台执行能力,并新增多项环境变量、权限设置与 Claude apps 网关管理选项。该版本还集中修复了 MCP 连接、权限绕过、diff 显示和云会话等一批问题。

自动模式在网关与遥测关闭场景下的校验变化

v2.1.319 调整了自动模式在遥测或功能开关关闭时的行为,包括部署在 LLM 网关之后的情况:服务器无法检查的调用会被询问或拒绝,不再回退到内置分类器。若希望继续使用原有方式,可设置 CLAUDE_CODE_AUTO_MODE_SERVER=0;Bedrock、Vertex 和 Foundry 的行为保持不变。

在 LLM 网关之后,CLAUDE_CODE_AUTO_MODE_SERVER=1 即使在设置了 CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS 时也会开启服务端检查;如果托管设置设置了后者,也必须同时设置前者。此外,项目设置文件或插件不能再把已被用户在项目外关闭的服务端检查重新打开。

该版本还修复了托管设置中的 CLAUDE_CODE_AUTO_MODE_SERVER=1 在网关 URL 仅存在于托管设置、且无法获取服务端管理设置时被忽略的问题,以及 /status 在服务端审查未到达会话时仍显示“Auto mode server: Enabled”的问题。

终端支持 MCP 任务后台执行

终端新增对 MCP 任务的支持:当 MCP 服务器把一次工具调用作为任务运行时,Claude Code 会立即将其移到后台,并在任务完成后把结果告知 Claude。该能力在 Bedrock、Vertex、Foundry、LLM 网关和 DISABLE_TELEMETRY 等不获取功能开关的场景下也可用,可通过 CLAUDE_CODE_DISABLE_MCP_TASKS=1 关闭。

如果希望 Claude Code 在工具调用内等待 MCP 任务完成而不是立即转入后台,可设置新增的 CLAUDE_CODE_DISABLE_MCP_TASK_BACKGROUND 环境变量。

相关修复包括:旧版握手协议的 MCP 服务器此前因 Claude Code 声明了仅新服务器使用的扩展而连接失败或返回空结果;claude.ai 连接器上的长时间 MCP 工具调用在 –resume 后有时不报告结果;claude -p –resume 在 MCP 服务器缺失时丢失延迟工具调用,现在会以退出码 1 结束并保留该调用。

权限、拒绝策略与安全修复

新增 permissions.denyInsteadOfPrompting 设置:原本会等待权限弹窗的工具调用将被拒绝,回合继续进行,适用于终端会话、子代理和队友。该版本还调整了 Bash 工具对带参数的 which 命令的权限询问,并修复了 Bash deny 与 ask 规则漏掉带引号单词命令的问题。

安全方面修复了多处问题,包括 accept-edits 和自动模式下 sed 命令可能跳过权限检查、构造的环境前缀可能隐藏命令部分内容从而绕过 Bash 权限检查、创建 worktree 时的沙箱逃逸,以及自托管运行器在 –trust-workspace false 时仍会执行仓库设置文件和技能中的钩子。

权限规则与自动模式设置非常大时,自动模式此前会在不说明原因的情况下拒绝操作;现在会给出解释,并在未设置 autoMode 拒绝规则时于终端询问用户。当更宽泛的拒绝规则覆盖某条精确的 Bash 或 PowerShell 询问规则时,该命令现在会被直接拒绝而不是询问。

Claude apps 网关的计费、日志与登录配置

Claude apps 网关新增 admin.pooled_conflict_rule 和 admin.pooled_priority_order,用于设定开发者属于多个分组时由哪个池化分组预算优先支付。对于没有消费限额、位于 Claude apps 网关之后的开发者,/usage 新增今日、本周和本月的消费显示,前提是网关运行此版本或更高版本。

网关新增可选的 login_notice 设置,可在网关浏览器验证页和 Claude Code 登录界面显示运营者定义的消息;设置 CLAUDE_GATEWAY_LOG_FORMAT=json 后,运维日志行会变为包含 severity、time 和 message 的 JSON,便于按字段读取级别的日志收集器使用。

网关还新增多项启动警告,包括上游混用 AWS GovCloud 与其他上游、环境中的 base URL 变量、托管设置指定 Amazon Bedrock guardrail 头但网关不转发且没有 bedrock 上游设置 guardrail 等情况。消费限额错误信息现在会显示类似“spend limit reached · resets Dec 1”的内容,若设置了 admin.blocked_message 也会一并显示。

会话、diff 与命令行修复

会话相关修复包括:/tasks 新增“Earlier in this session”行,列出已完成的子代理,便于重新打开并发送消息;/clear 不再终止后台代理、队友和工作流中仍在运行的命令;云会话移动到新 worker 时,若无法保留全部拒绝和询问规则,会丢弃会话级允许规则,因此可能再次询问。

diff 方面修复了 claude.ai 和移动应用中当运行目录存在名为 HEAD 的文件或文件夹时会话 diff 无法加载、git 仓库顶层存在 HEAD 时 /diff 显示“Diff unavailable”,以及 64 个及以上回合编辑文件后 /diff 面板空白的问题。

命令行修复包括:前导空格、制表符或换行后输入的斜杠命令此前被当作纯文本发送给 Claude;claude -p 在自动模式因无安全检查可用而拒绝操作时退出码为 0,现在文本和 JSON 输出均以 1 退出;claude remote-control 首次运行问题未获回答时静默以 0 退出,现在会说明原因并以 1 退出。

其他新增命令与体验改进

新增 /claude-api latency-optimize 命令,用于找出 Claude API 代码中让人等待的位置,并针对你的评估尝试更快的设置。新增 CLAUDE_CODE_DISABLE_FEATURE_FLAGS 环境变量,可在不关闭遥测的情况下停止获取功能开关,此时每个开关使用内置默认值。

/model 选择器将较旧模型归入“More models”行,而不是列在当前模型之后;/context 在终端中让 Claude 读取的表格保持简短,每个列表保留最大的 10 行,按需加载的 MCP 工具在调用前按服务器共用一行。

Claude in Chrome 在短暂断连后会最多等待 6 秒让会话自己的浏览器恢复再选择其他浏览器;javascript_tool 结果最多 60,000 字符会保留在对话中而不再保存到文件。此外,Claude Code 内置的 Claude in Chrome 工具移除了 shortcuts_list 和 shortcuts_execute。

知序观察

观察:v2.1.319 的核心变化集中在自动模式的服务端校验边界和 MCP 任务的执行模型上,前者让网关与遥测关闭场景下的安全判断更依赖服务器而非内置分类器,后者改变了长时间 MCP 调用阻塞回合的方式。大量修复涉及权限绕过与沙箱逃逸,说明该版本对安全边界做了集中加固;但修复条目数量本身不足以推断故障主要来源。

留下你的想法

欢迎交流。你的邮箱地址不会公开。