Claude Sonnet 5.5 的破坏性变更与报错原文:五项改动、两处组合限制、一种响应形状变化
Anthropic 在 2026-09-28 发布 Claude Sonnet 5.5,官方概览页写「Five breaking changes affect code already running on Claude Sonnet 5」;同一家的迁移指南另有「five settings that return a 400 error」——两套五项出自两份不同的官方文档,不是同一张清单。这一页把两边原句与逐字报错字符串摆在一起:关掉预先思考、强制工具调用、thinking 块的绑定、computer_20251124 不再被接受、advisor 的配对限制,另外还有一处不报错但改变响应形状的改动。
更新于 2026-09-30
四条最常撞的报错
关掉 thinking:直接 400
报错原文(四语都不翻译):"thinking.type.disabled" is not supported for this model. Use "thinking.type.between_tools" for the lowest thinking setting, or "thinking.type.adaptive" and "output_config.effort" to control thinking behavior. 官方给的最低档是 between_tools,要控思考强度就用 adaptive 配 output_config.effort。
between_tools 配 xhigh 或 max
官方原文:between_tools 在 low、medium、high 三档被接受,在 xhigh 或 max 会返回 400 错误;那两档要跑就得用 adaptive thinking(不写 thinking,或写 adaptive)。
between_tools 带了别的字段
官方原文:between_tools 不接受其他字段,display、budget_tokens 或 block_binding 与它一起发送就返回 400 错误。这也是「thinking 块绑定」那条改动最容易踩到的地方。
旧工具定义与 advisor 配对
官方在 overview 里各给一句:在 Claude API 与 Google Cloud 上,早先的 computer_20251124 计算机使用工具不被接受;advisor 工具拒绝 Claude Opus 4.8、Claude Opus 4.7 与 Claude Sonnet 5 作为 advisor。这两类要改的是工具定义与配对,不是模型 id。
这一页解决的是什么问题
解决「代码从 Sonnet 5 换到 Sonnet 5.5 之后突然 400」这一类问题。四项最常见的表现是:请求里带 thinking 的 disabled 类型、带强制工具选择、带旧的 computer_20251124 工具定义、或把 Opus 4.8 / Opus 4.7 / Sonnet 5 配成 advisor。第五项最隐蔽:effort 与 between_tools 的组合。官方把每一项都写了原句,本页把它们与报错文本一一对上。
2026-09-28:Claude Sonnet 5.5 发布
官方 overview(本页核于 2026-09-30)写「Five breaking changes affect code already running on Claude Sonnet 5」,迁移页则把五种会返回 400 的设置列在一起:thinking budgets、sampling parameters、assistant prefill、forced tool choice,以及 thinking 类型写成 disabled 的请求。Claude Code 的 changelog 在 2.1.284 下写它已成为 Anthropic API 上默认的 Sonnet 模型。
改动的先后与文档落点
Anthropic 2026-09-22 的 Opus 5.5 发布页已经把「未来几周出 Sonnet 5.5 与 Haiku 5.5」写进官方文档,同一页也写了 Sonnet 5.5 会带上同批的性能与效率改进。迁移的准备工作从这一句开始,而不是从发布日才开始。
Claude Sonnet 5.5 发布日。官方 overview 写「Released September 28, 2026」,同一页列五项破坏性变更;Claude Code 在 2.1.284 把它设为 Anthropic API 上默认的 Sonnet 模型。
本页核对日。这一天官方迁移页与概览页的两处原句仍然逐字有效,所以本页的报错字符串与组合限制照原文抄。站内一侧:claude-sonnet-5-5 自 2026-09-29 起可调(状态以 claude-sonnet-5-5-guide 为准),本页写可用性的句子都带这一头的日期。
口径分层:官方原句 / 报错原文 / 我们的读法
官方确认的五项改动
已确认的五项(随 2026-09-28 的 Sonnet 5.5 生效):① 用 between_tools 关掉预先思考(thinking 不能整体关掉);② 强制工具调用会被拒;③ thinking 块与模型、会话绑定;④ 在 Claude API 与 Google Cloud 上,早先的 computer_20251124 计算机使用工具不再被接受;⑤ advisor 工具拒绝把 Claude Opus 4.8、Claude Opus 4.7 与 Claude Sonnet 5 当作 advisor。官方另外单独写明:还有一处改动不会让请求失败,但会把工具调用之间的文本放回 thinking 块里。
官方没写的部分(未证实的都不列)
官方没有给这几样东西,本页也不替它补:这五项改动的撤销或豁免时间表、Claude Sonnet 5 的强制退役日(弃用表只写「Not sooner than June 30, 2027」)、以及任何「某个第三方框架已经适配」的说法。社区里流传的绕过办法我们不当事实写。官方确认的只有这些:Claude Sonnet 5 目前状态是 Active,没有被列进弃用清单。
迁移成本不是 Anthropic 一家的事
Anthropic:思考与工具调用的形状
官方原句:between_tools 是最低的思考档、不能整体关掉 thinking,强制工具选择会返回 400。改的是请求体的结构,型号本身的名字与价格都不用动(输入 $2、输出 $10,与 Sonnet 5 同价)。
OpenAI:思考档与端点也要动
本页只敢用官方给过的句子:gpt-6.1-sol 不支持 none 与 minimal 两个 reasoning effort,而 gpt-6-sol 与 gpt-6-luna 支持 none(这两家的官方档位列表是 none、low、medium、high、xhigh、max,里面本来就没有 minimal);另外官方在 changelog 里写明工具调用要走 Responses API。所以「跨家迁移不用改代码」这种话,两家的文档都不支持。
官方给的改法(照原文,不自创绕法)
报错原文是:"thinking.type.disabled" is not supported for this model. Use "thinking.type.between_tools" for the lowest thinking setting, or "thinking.type.adaptive" and "output_config.effort" to control thinking behavior. 官方给的最低思考档是 between_tools,它在 low、medium、high 三档可用;在 xhigh 或 max 会返回 400,那种情况下要用 adaptive thinking,也就是不写 thinking 字段或写 adaptive。between_tools 不能同时带 display、budget_tokens 或 block_binding,带了就 400。用了 between_tools 之后,会话中途改 effort 也会 400。
QCode 这一侧:Sonnet 5.5 自 2026-09-29 起可调
claude-sonnet-5-5 自 2026-09-29 起在 QCode 可调(本页核对于 2026-09-30,本站 30 天用量 99;型号状态以站内 claude-sonnet-5-5-guide 那一页为准)。迁移期间要继续跑的代码,同一把 key 下还能调 claude-opus-5-5 与 claude-sonnet-5,OpenAI 侧是 gpt-6-sol。要改的是请求体里的 thinking 与 effort 写法,与走哪家渠道无关,所以这一页讲的是请求体,不是路由。
常见问题
看到 thinking.type.disabled 这句报错,该怎么改?
官方给的路径有两条:想要最低的思考量就把 thinking 类型改成 between_tools;想按档位控思考就把类型改成 adaptive,再用 output_config.effort 给档位。注意 between_tools 有组合限制,它只在 low、medium、high 生效,并且不能带别的字段。
以前能用的强制工具调用现在不行,是官方故意的吗?
官方把 forced tool choice 列在会返回 400 的五种设置里,这是「五项破坏性变更」的一部分。官方没有给这一项的豁免窗口或撤销时间表,所以本页不写任何「过几天又能用」的猜测。
computer_20251124 还能用吗?
按官方 overview 那一句:在 Claude API 与 Google Cloud 上它不被接受。本页只写官方写了的平台范围,不去推断其它平台上会怎样 —— 那是没有原句的部分。
响应里多出来的 thinking 块要怎么处理?
官方单独写明这一处不会让请求失败,但工具调用之间的文本会回到 thinking 块里。官方给的两种处理是:设一个把文本返回出来的 display 值,或者用 between_tools 关掉预先思考。直接把这类文本流给用户看的实现,在改之前会在工具调用之间静下来。
Claude Sonnet 5 会被强制退役吗?
官方弃用表那一行给的是下限:Not sooner than June 30, 2027,状态列还写着 Active。本页不把「不早于」读成「那一天关停」,也不把五项破坏性变更读成退役通知 —— 那是两件事。
官方有没有给跑分来证明这些改动值得?
发布页里有官方自测的分数表,但本页不转录任何跑分数字。这一页的职责是把报错原文与官方改法对上;分数是不是够高,得你自己按负载测。官方自己的迁移文档也这么建议:把改动跑在自己的任务上验证。
来源
Anthropic 官方三页:模型 overview(发布日与五项破坏性变更的清单)、迁移指南(报错原文与 between_tools 的段落)、定价页与弃用表(同价那句与 Sonnet 5 的「不早于 2027-06-30」那一行);另加 Claude Code changelog 的 2.1.284。OpenAI 侧只用两句:最新模型指南里关于 none 的那一行,与 API changelog 里关于 Responses API 的那一行。存档逐字落在抓取目录里。
相关页
Claude Sonnet 5.5 完全指南
Sonnet 5.5 的规格与价表在那一页(上下文 1M、最大输出 128K、输入 $2、输出 $10)。本页只管改代码时要撞的那五条。
Claude Sonnet 5.5 对比 Opus 5.5
同一代里两款怎么选(价格与规格对照)。迁移报错在本页,选型号在那一页。
GPT-6 Sol / Luna 价格追踪
跨家时的另一侧:gpt-6-sol 与 gpt-6-luna 的官方价表与计价规则。两家都要动请求体的事,那一页也写了。
本页的报错字符串与限制句都按官方原文逐字抄,四种语言都不翻译,因为那是要被搜到、要被程序比对的东西。官方没写的豁免期、退役日与第三方适配情况,本页一律留空。QCode 与 Anthropic、OpenAI 均无隶属关系;站内型号状态以各自那一页为准,本页写可用性的句子一律带核对日期。