帖子说了什么
@bufcapy 在整理 2.1.310 时点到一条很实在的坑:走网关或兼容服务时,请求会「莫名失败」——常见原因是对面不认 effort-2025-11-24 这个 beta 头,或拒绝对话中途出现的 system 消息。新版本会自动去掉这些再重试,而不是整段请求直接报废。这和更早的「Tool Search 被网关拒掉」是另一类问题,别混在一起排查。
对照官方说明
Claude Code CHANGELOG v2.1.310 原文:
- Fixed requests failing behind some gateways and compatible servers that reject the
effort-2025-11-24beta value or mid-conversation system messages; Claude Code now retries without them.
对照结论:
- 有官方依据,不是猜测。
- 适用面:自定义
ANTHROPIC_BASE_URL、企业 LLM 网关、部分「兼容 Anthropic API」的中转。 - 以前同类症状也可能是 2.1.304 的 Tool Search 回归(已在 2.1.305 修);若你已升过 2.1.305 仍偶发失败,再查 effort beta / 中途 system 这一条,并升到 2.1.310+。
你可以立刻做的几件事
- 先升级:
claude update,再用claude --version确认 ≥ 2.1.310。 - 看网关日志:是否出现拒收未知 beta、
effort-2025-11-24,或抱怨 mid-conversation system。升级后应看到客户端重试成功,而不是你手工改配置碰运气。 - 别在旧版本上「硬关功能」瞎试:优先让客户端自动剥离;仍失败再查网关是否丢弃必要字段、是否改写了请求体。
- 区分两类故障:Tool Search 被拒 → 看是否已过 2.1.305;effort / system 被拒 → 看是否已过 2.1.310。版本号对不上,日志再漂亮也白费。
- 记录一次复现:失败时的模型、是否开了 effort、是否长会话中途切换,方便向网关维护方对齐白名单。
小结
网关「兼容 Anthropic」不等于「兼容 Claude Code 当天发出的每一个 beta」。2.1.310 把 effort beta 和中途 system 变成可自动降级重试,能少掉一批「终端里红字、账却已经扣了」的稳定性问题。走中转的人,把这一版当成基线。
来源
- @bufcapy:2.1.310 修网关不认 effort beta / 中途 system
- 同版本摘要亦可参考 @alexmichaelio
- 官方对照:Claude Code CHANGELOG v2.1.310
