Claude Code 2.1.239:让你的 Bedrock API 账单悄悄翻倍的代理 Bug 已修复
代理、API 网关或负载均衡器剥离响应 Content-Type 头部,导致 Claude Code 在每个 Bedrock 请求上以非流式模式重跑一次,等于每次对话付双倍费用。以下是如何判断是否受影响,以及 2.1.239 对网关运营者的其他修复。
归档条目:由 AI 根据所引信源辅助生成,发布时未经逐篇审阅。责任编辑:Joe Werner。

Claude Code 的 changelog 里有一行写着"修复了在会剥离响应 Content-Type 头部的代理后面使用 Bedrock 流式传输时,会悄悄让每次对话的 API 调用量翻倍的问题"。大多数团队扫一眼就过去了,这是个错误。这是一个账单事件,不是体验修复,而且它会在你把 Claude Code 部署在代理背后的每一次 Bedrock 对话里无声积累。
发生了什么,为什么会这样
Amazon Bedrock 的流式 API 使用基于 HTTP 分块传输的响应格式,响应头 Content-Type 为 application/vnd.amazon.eventstream。Claude Code 读取这个头部来判断如何处理传入的流。
当代理剥离该头部时,Claude Code 遇到的是一个流式响应里缺失或不符合预期的 Content-Type,于是它回退到非流式模式,重新发一次请求来获取完整响应。结果是用户感受到的一次对话,底层实际完成了两次完整 API 调用,两次都计费。
企业 HTTP 代理、nginx 反向代理和 AWS 应用程序负载均衡器都有可能在默认配置下剥离或改写响应头。nginx 的 proxy_hide_header 指令是常见的安全加固手段。AWS ALB 对某些响应格式可能改写 Content-Type。如果你的 Bedrock 流量经过任何中间层,在大多数企业部署里都是这样,这个问题就一直在发生。
2.1.239 的修复改变了 Claude Code 检查 Content-Type 的方式,让头部缺失或不符合预期时不再触发回退。现有的流式传输不受影响,失效路径被关闭了。
如何判断你是否受影响
账单翻倍只发生在 Claude Code 成功建立 Bedrock 流式会话、但代理剥除响应 Content-Type 的场景下。你可以做两步回溯核查。
拉 Bedrock API 调用量。 从 CloudWatch 获取你运行 Claude Code 期间的 Bedrock 调用指标(AWS/Bedrock,指标名 InvocationCount)。如果调用次数大约是预期对话轮次的两倍,说明你受影响了。
检查代理的响应头行为。 在代理背后的主机上运行这条命令
curl -v -X POST https://bedrock-runtime.<region>.amazonaws.com/model/... \
-H "Content-Type: application/json" \
--aws-sigv4 "aws:amz:<region>:bedrock" \
-d '{"prompt":"ping","max_tokens":1}' 2>&1 | grep -i content-type
如果响应 Content-Type 缺失,或者被替换成 application/octet-stream 之类的值,你的代理就在剥除它。
对于 nginx,检查配置里的 proxy_hide_header 指令。proxy_hide_header Content-Type; 作用在 Bedrock 上游时会触发这个问题。这条指令有时作为通用安全加固批量添加,没有考虑到流式端点的需求。
跨 provider 的对比
这个 bug 只影响 Claude Code 在 Bedrock 上的部署。Anthropic 直连 API(api.anthropic.com)使用不同的流式协议和 Content-Type 规则,Claude Code 通过另一条代码路径处理,不受这次修复影响。Vertex AI 的 Claude 端点也使用不同的流式协商机制。
把 Claude Code 指向 TheRouter 或其他网关的 OpenAI-compatible 端点而不是直连 Bedrock 的团队,账单翻倍不会发生在那条流量路径上,因为请求根本不走 Bedrock 的流式协商。通过任何代理层使用 Bedrock 的团队,无论是 AWS API Gateway、企业内部 HTTP 网关还是 ALB,都需要检查自己的配置并审计 2.1.239 之前的 Bedrock 账单。
2.1.239 里另外两个对网关运营者有影响的修复
HTTPS_PROXY 在 Bedrock SSO 凭证刷新时没有被遵守。 Claude Code 配合 SSO profile 和 awsAuthRefresh 使用 Bedrock 时,会在第一次请求前做一次凭证预检。这个预检走的是直连 HTTPS,绕过了 HTTPS_PROXY。在 Bedrock 只能通过代理访问的 VPC 隔离环境里,Claude Code 启动时会挂起或静默失败。修复之后,凭证预检会遵守代理设置。
数据驻留成本加成现在可见了。 Anthropic 对数据驻留工作区(美国本地推理路由)收取 1.1 倍的推理费率加成。2.1.239 之前,/cost 命令、状态栏和 --max-budget-usd 的计算都没有包含这个加成。使用数据驻留工作区的团队看到的成本估算比实际 Bedrock 账单低约 9%。修复后,所有成本估算和预算执行都加入了 1.1 倍系数。
现在该做什么
如果你在任何代理背后运行 Claude Code on Bedrock,按照以下步骤处理。
- 立即升级到 2.1.239,账单翻倍的修复就在这个版本里。
- 对过去 30 到 60 天的 Bedrock 调用次数与对话轮次做对比审计,AWS Bedrock 按请求计费,如果比例接近 2 比 1,可以向 AWS 提出账单异议。
- 确认你的代理没有剥除 Bedrock 流量的 Content-Type 响应头。
- 如果你遇到过 Bedrock 配合 SSO 启动挂起的问题,升级到 2.1.239 并确保
HTTPS_PROXY在awsAuthRefresh运行之前就已经设置好。 - 如果你运行数据驻留工作区,升级后
/cost显示的数字和预算限制会高出大约 10%,那是修复生效,不是定价调整。
不使用 Bedrock 的团队不会遇到账单翻倍问题。HTTPS_PROXY 和数据驻留这两个修复也只对 Bedrock 部署有效。
TheRouter 用户需要关注的地方
如果你把 Claude Code 指向 TheRouter 的 OpenAI-compatible 端点而不是直连 Bedrock,上面三个 Bedrock 专项修复对这条流量路径都不适用,你的请求从来不走 Bedrock 的流式协商。
如果你通过 TheRouter 把部分 Claude Code 流量路由到 Bedrock 作为 fallback 或主要 provider,对 Bedrock 那一段同样适用上述审计步骤。这个 bug 在 Claude Code 的 Bedrock 集成侧,不在路由层。
完整的代理配置参考可以在 Claude Code Amazon Bedrock 文档 里找到。
相关阅读
AI 路由新闻与供应商动态 →
Claude Code 2.1.218 修复了一个无声的 Bedrock 计费 Bug:所有使用 ARN 映射模型的运营者都必须审计历史成本日志
Claude Code 至少从 2026 年 2 月起,就将所有 Bedrock application-inference-profile ARN 流量归因为同一个模型 ID,导致 Haiku 和 Opus 的成本都显示为约 $0.23/次。2.1.218 版本修复了 ARN 解析逻辑——但你此前的网关成本日志是错的。

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

Claude Code 2.1.268:一个沉默三个版本的网关故障,以及四项新的运营控制
从 2.1.265 起,所有通过第三方 Anthropic 兼容端点的请求都在以 HTTP 400 失败。2.1.268 修复了这个问题,并新增了 gatewayInternalNetworks CIDR 策略、gateway.yaml 定价同步,以及 Bedrock/Vertex/Foundry 提示词缓存字节稳定性改进。