Claude Code 2.1.176/2.1.177 升级检查:availableModels、Bedrock STS 与 Remote Control

在将 Claude Code 2.1.177 推向托管机队前,先核验 2.1.176 的关键修复:availableModels 已拦截 ANTHROPIC_DEFAULT_*_MODEL 别名绕过,Bedrock awsCredentialExport 按 STS Expiration 缓存,Remote Control 不再静默替换会话模型。

TheRouter Newsroom来源 Claude Code Changelog
Claude Code 2.1.176 安全加固:availableModels 白名单执行与 Bedrock 凭据缓存修复

Anthropic 在 Claude Code 2.1.175 中推出 enforceAvailableModels 设置,堵住了 Default 模型可能解析为被禁模型的治理漏洞。但一个绕过路径仍然存在:用户或运行环境可以通过 ANTHROPIC_DEFAULT_OPUS_MODEL(或 Sonnet/Fable 对应变量)将别名选择重定向到白名单以外的模型——而此前的限制并不拦截这一情况。2026 年 6 月 13 日发布的 Claude Code 2.1.176 关闭了这个漏洞,并带来两项对托管机队(managed fleet)同样重要的安全修复。

发生了什么

2.1.176 在模型治理和 provider 安全两个维度带来了三项独立修复:

1. ANTHROPIC_DEFAULT_*_MODEL 不再能绕过 availableModels

2.1.175 中,enforceAvailableModels 确保了 availableModels 白名单同样约束 Default 模型的选择。然而,像 ANTHROPIC_DEFAULT_OPUS_MODEL 这样的环境变量仍可将用户的别名选择重定向到管控白名单之外的模型。在 2.1.176 中,别名选择在环境变量解析之后才执行白名单校验。此外,/fast 切换现在也会拒绝执行——如果切换后会将会话模型切换到白名单以外的模型。

2. Bedrock awsCredentialExport 凭据现按实际过期时间缓存

对于使用 awsCredentialExport 提供 AWS 凭据的团队,Claude Code 此前将这些凭据固定缓存 1 小时,完全忽略凭据本身的 Expiration 字段。当凭据 TTL 较短(短期 STS token 的常见情况)时,Claude Code 会在缓存淘汰前的窗口内使用已过期的凭据发起请求,导致 401 错误。修复后,凭据将缓存至其声明的 Expiration,与 AWS SDK 的凭据刷新行为一致。

3. Remote Control 不再悄然替换会话模型

通过 Web 或移动端 Remote Control 界面接入时,Claude Code 会在未通知用户、不记录日志的情况下覆盖当前会话的活跃模型。在设置了 availableModels 限制的机队部署中,这可能导致会话落在策略之外的模型上。修复后,Remote Control 连接时不再覆盖会话的当前模型。

对 AI 工程团队意味着什么

这三项修复完成了 2.1.175 开始的模型治理叙事。enforceAvailableModels 的设计意图是确保任何用户或项目级设置都无法放宽托管的 availableModels 白名单。但如果环境变量仍能将别名选择重定向到白名单以外,这一约束就只是部分有效。通过托管设置向开发者机队部署 Claude Code 的团队应升级到 2.1.176,以获得完整的执行保证。

Bedrock 凭据缓存修复对于使用 IAM 角色扮演或跨账号 STS token 的团队尤为关键——短期凭据(通常 15–60 分钟)在这些场景中是标准做法。如果你在 Bedrock 下的长时 Claude Code 会话中遇到过周期性认证错误,这很可能就是根因。

Remote Control 修复关系到所有在托管模型策略下运行 Claude Code 会话、同时开发者又使用 Web 或移动端 Remote Control 接口的团队。修复之前,Remote Control 接入可能会悄然将会话切换到托管策略本应阻止的模型。

Router/Operator 视角

对于在 Claude Code 前置 gateway 或 routing proxy(包括通过 ANTHROPIC_BASE_URL 环境变量接入的场景),这次环境变量绕过修复改变了威胁模型:再也无法通过配置 shell 环境来将流量引向不同模型层级,而不被托管白名单捕获。这使得 availableModels + enforceAvailableModels 的组合成为可靠的成本治理机制,而非仅仅是软策略。

对于 Bedrock 运营者,凭据缓存与 Expiration 字段的对齐消除了一类"测试时正常、运行一小时后报错"的难以追踪 bug。如果你的 routing 层通过 awsCredentialExport 注入短期 STS 凭据,行为现在是可预测的,符合 AWS SDK 语义。

托管 Claude Code 机队检查清单:

  • 升级到 2.1.176,激活完整的 availableModels 环境变量执行。
  • 确认 enforceAvailableModels: true 托管设置已部署(需 2.1.175+)。
  • 如果使用 TTL 小于 1 小时的 STS token 配合 awsCredentialExport:修复消除了固定 1 小时缓存,预计中途 401 错误将减少。
  • 如果在托管模型策略下使用 Remote Control:测试一次新的 Remote Control 连接,确认连接时会话模型不被更改。
  • 检查 Read/Edit/Write 工具路径的 hook if 条件——2.1.176 同时修复了 Edit(src/**) 和 Read(.env) 等模式未能正确匹配的问题。

TheRouter 用户须知

如果你通过 TheRouter 路由 Claude Code 流量,并使用 availableModels 执行模型层级限制,2.1.176 升级完成了从托管设置到环境变量的完整治理链条。结合 enforceAvailableModels,你的路由策略现在可以端到端执行,不再有通过 shell 环境配置绕过的向量。

在 Bedrock routing 场景下,凭据缓存修复意味着路由日志中来自 STS token 过期的重试风暴将减少。对于使用按请求注入凭据(每个会话获得自己的短期 token)的团队,会话稳定性将得到改善。

参见 Claude Code 完整更新日志 以及 2.1.175 enforceAvailableModels 报道,了解本次修复所基于的治理基础。

帮助与联系