从 Opus 5 迁到 Opus 5.5 会直接报错的四处

平台文档写明 Opus 5.5 有四处不兼容:思考不能关闭,强制指定工具会报错,思考块绑定会话,旧的 computer_20251124 在 Claude API 与 Google Cloud 上不被接受。先改这四项再换模型名。

从 Opus 5 迁到 Opus 5.5 会直接报错的四处

把请求里的模型名改成 claude-opus-5-5 之后,旧的 Opus 5 客户端可能直接失败。平台文档把 claude opus 5.5 不兼容 收成四条,前三条在 Fable 5.1 上同样成立。第五种变化不会让请求失败,但会让你以为模型在工具调用之间「不说话」。

作者CodePass 技术编辑

四条会失败的改动

  1. 思考不能关掉。thinking 设为 disabled,或仍用旧的 enabled 加预算字段,需要删掉,改成选择努力档。这款模型的默认努力档是 medium。自适应思考一直开着。

  2. 强制工具调用会报错。tool_choiceanytool 不再接受。文档要求改成 auto,并配上 strict tool use。以前靠「必须调用某一个工具」来卡住流程的代码,会在这款模型上收到错误,而不是静默改走别的工具。

  3. 思考块绑在这一个模型和这一段对话上。不能把上一轮、另一个模型留下的 thinking 块原样塞进新请求里充当前缀。换模型或重放历史时,要把这些块去掉或按文档重写,否则请求不合法。

  4. 旧的计算机使用工具。在 Claude API 和 Google Cloud 上,computer_20251124 不被接受。文档要求改用 computer_toolset。Bedrock 和 Foundry 是否同一天拒绝旧工具,overview 只点名了 Claude API 和 Google Cloud,另外两家要看各自迁移说明。

不会报错、但界面变安静的一条

工具调用之间的文字,现在放在 thinking 块里,默认 display 下这些文字是空的。如果你的 UI 把工具之间的文本当成进度条播给用户,升级后进度会消失,请求本身仍然成功。需要那段文字时,设置能把文本返回来的 display。这不是故障切换,是响应形状变了。

what's new 还提到:延迟加载整个工具集会返回 400 一类的约束、以及缓存相关的组合限制,那些在通用工具文档里,不一定只属于这次改名。先改掉上面四条,再查 400 的响应体。

迁移时的最小顺序

先在测试 Key 上把模型改成 claude-opus-5-5,用一条不带工具的短请求确认账号已开通。然后去掉 thinking 的 disabled,把 tool_choice 改成 auto,删掉历史里的旧 thinking 块。最后才测计算机使用。生产流量在四条都过之前不要切默认模型。Opus 5 的 ID 发布页没有写退役日;Opus 5.5 的退役不早于 2027 年 9 月 22 日。可以并行跑,不必同一天拔掉旧 ID。

参考资料