Claude Code 2.1.229:SSE 保活补丁修复 Vertex 和 Bedrock 静默断流,以及 Git 推送路径的权限收紧
Claude Code 2.1.229 在 gateway 流式响应中加入 SSE 保活 ping,专门解决长 thinking 暂停期间 Vertex AI 和 Bedrock 上游的静默超时断流。另有 /commit-push-pr 危险 git flag 拦截和沙箱 IPv6 fail-closed 收紧。

Claude Code 在跑长推理任务时,thinking 阶段可以保持几十秒没有任何输出。对 Vertex AI 和 AWS Bedrock 来说,这段沉默会踩到它们各自的 gateway 和负载均衡器的空闲超时。流直接关掉了,模型侧完成了计算,客户端只拿到半截回复,甚至是空块。日志里没有 HTTP 5xx,重试逻辑找不到可以响应的错误。计费依然发生。
2.1.229 在 Claude Code 的 gateway 流式响应层加了 SSE 保活 ping,专门应对 thinking 暂停期间的静默间隔。修复发生在 gateway 层,不依赖客户端改配置,不依赖基础设施调超时阈值。
超时为什么偏偏打在推理任务上
Vertex AI 的 HTTP/2 流空闲超时默认是 600 秒,但不少企业部署为了安全把它调短。Bedrock 的托管 VPC endpoint 背后是 AWS 网络负载均衡器,TCP 层默认 350 秒,HTTP 层更短。一个需要 90 到 120 秒推理计算的多步 agent 会话,在这些阈值面前并不安全。
失效模式的麻烦在于它不显眼。模型完成了推理,但 SSE 流在 delta 到达客户端之前关闭了。客户端收到的是截断的输出或空的 content block,基于 HTTP 5xx 的重试逻辑找不到可以响应的错误,而 Bedrock 的调用已经计费。
2.1.229 通过周期性发送空白 keepalive event,把流撑过 thinking 间隔。当前版本的保活间隔不从客户端配置,由 Claude Code 的 gateway 流式路径统一处理。对运营团队来说,这个修复覆盖所有经过 Vertex 和 Bedrock 的会话,不需要任何配置变更。
/commit-push-pr 现在会拦截哪些 flag
2.1.229 之前,Claude Code 对 /commit-push-pr 的自动审批可以放行带有 --force、--amend、--no-verify、--force-with-lease 等 flag 的 git 和 gh 命令。这些 flag 绕过了大多数工程团队依赖的保护措施,包括分支保护、提交消息 hook 和 force push 审计记录。
这次变更把这些 flag 从自动审批集合里移除。任何带危险 flag 的 git 或 gh 命令,现在需要明确的人工确认,和 Claude Code 权限模型里其他敏感工具调用的处理方式一致。
这个改动对运营的影响落点很清楚。通过 Claude Code self-hosted runner 跑自动提交工作流的团队,需要确认流水线里有没有无人值守地使用 --amend 或 --no-verify。升级到 2.1.229 之前,在代表性的 runner 环境里测一遍这类工作流。
沙箱 IPv6 fail-closed
Claude Code 沙箱的网络域名白名单,此前对 IPv6 字面量的格式匹配比较宽松。::1 可能写成 ::1、[::1] 或 [::1]:443,格式不一致时走的是放行而不是拒绝。
2.1.229 把域名列表里的 IPv6 字面量统一规范为带方括号的形式([::1]:443),格式不符合规范的条目,处理方式从放行改为拦截。/doctor 命令现在会把配置里不符合规范的 IPv6 条目标记出来。
在容器环境里跑 Claude Code 的团队,如果沙箱 config 里有 IPv6 回环或链路本地地址,升级前先检查 .claude/settings.json 里的 sandbox 条目,跑一遍 /doctor 确认哪些需要改成带方括号的写法。
插件市场 command source
2.1.229 给插件市场加了 command source 类型。之前 source 只能是静态目录路径,现在可以是一个本地命令(比如 IDE 集成),命令执行后在 stdout 打印插件目录路径,Claude Code 在会话启动时解析这个路径并直接应用,不需要重启。mode: "link" 把打印出来的路径当作符号链接风格的引用使用。
集中管理插件分发的团队,不管是通过共享的企业工具服务还是控制本地 Claude Code 配置的 IDE 插件,现在可以用这个机制动态计算插件目录,不用在每台机器的配置文件里硬编码路径。
跨上游视角:这个版本对多 provider 路由意味着什么
SSE keepalive 修复发生在 Claude Code 的 gateway 流式层,而不是在模型 API 调用层。它覆盖所有经过 Vertex AI 和 Bedrock 的会话,Vertex 上的 Claude Sonnet 5、Bedrock 上的 Claude Opus 5,以及任何通过自定义 ANTHROPIC_BASE_URL 转发到这两个平台的会话,都在覆盖范围内。
这个修复不改变计费或并发行为。改变的是可观测性。此前,会话从模型视角看是完成的,但实际给客户端的输出被截断,两边都没有错误记录。2.1.229 开始,这类静默截断应该减少。如果你一直在跟踪推理会话的成功率,发现计费的调用数量和完整收到响应的数量之间有差距,这个版本是从基础设施侧弥合差距的第一个手段。
升级前的审计清单
CI 流水线里使用 --amend 或 --no-verify 的 /commit-push-pr 工作流。 这些现在需要人工确认,无人值守的 runner job 会在这里卡住。提前确认并决定是重写这些工作流还是补一个审批门。
.claude/settings.json 里的沙箱 IPv6 条目。 在代表性的机器上跑 /doctor,非规范 IPv6 字面量会出现在标记列表里。改成带方括号的写法([::1]:443),然后再升级依赖这些网络规则的容器。
Windows 上的 self-hosted runner 启动配置。 2.1.229 在 Windows 上要求显式指定 --base-dir,没有默认的 checkout 目录。如果你跑 Windows CI 环境,更新 runner 的启动参数。
部署了 managed-mcp.json 的 self-hosted runner。 此前,如果 managed-mcp.json 已部署但服务器无法交付 MCP servers,runner 会话会在启动时退出。2.1.229 改为记录警告并跳过这些 server 继续运行。如果 MCP 连接对你的工作流重要,确认你的 runner 监控里有没有跟踪这类 skip 事件。
对 TheRouter 用户的建议
TheRouter 把 Claude Code 会话路由到 Vertex AI 和 Bedrock 等云上游。2.1.229 的 SSE keepalive 行为降低了长推理请求上的静默流中断率,不需要额外配置。如果你一直在观察路由到 Vertex 或 Bedrock 的推理密集型会话的投递失败率,升级 Claude Code 是在查 gateway 超时配置之前优先要做的事情。
插件 command source 类型对跨多个 runner 环境管理 Claude Code 部署的团队有实用价值,可以借此把插件分发集中到一个动态计算入口,不用在各机器配置里维护硬编码路径。
相关阅读
AI 路由新闻与供应商动态 →
Claude Code 2.1.267:运营商层面的 Effort 上限控制、提示词缓存稳定性修复与市场容器绕过漏洞补丁
2.1.267 带来三项运营商相关变更:跨 Bedrock、Vertex、Foundry 生效的 maxEffortLevel 上限配置;禁止系统提示词快照复用的新标志;以及一个通过反斜杠绕过市场容器检查的安全修复。此外包含十二项提示词缓存稳定性改进,直接影响 Token 成本。

Claude Code 2.1.273:五个新网关提示头和 Bedrock、Vertex、Foundry 上的分类器切换
Claude Code 2.1.273 推出可选开启的网关提示头,向任何 LLM 代理暴露请求类型、agent 类型和上下文压缩状态,同时在 Bedrock、Vertex AI 和 Foundry 上静默切换 auto 模式分类器为本地模式。两个变更一起落地,但只有其中一个有回退路径。

Claude Code 2.1.269:一个 60 项修复包里藏着的三个 operator 级变更
Claude Code 2.1.269 新增了 gateway 发现超时覆盖参数、并发 workflow agent 上限,以及一个跨配置源默默生效的 deny rule 漏洞修复。这三项变更直接影响规模化运营 Claude Code 的团队。