社内システムで使っている Claude のモデルを新しいものに替えたら、これまで通っていたリクエストが 400 エラーで返ってきた。2026年9月から10月にかけて、Claude Sonnet 5.5(9月28日)と Claude Haiku 5.5(10月7日)が公開され、Claude Sonnet 4.5 は2026年11月30日に Claude API での提供を終える予定と告知されました。モデルIDを書き換える機会が続いています。
Haiku 5.5 の移行ガイドには、思考の量を指定する budget_tokens や、temperature などのサンプリングの指定(決められた値以外)が 400 エラーになると書かれています。こうした違いは、モデルごとの移行ガイドを読めば分かりますが、使っている機能が多いと見落とすおそれがあります。
10月1日・5日・6日のリリースノートで、Claude の Models API(GET /v1/models)に、モデルの対応状況を返す項目が3つ加わりました。本記事では、公式ドキュメントの記述と、編集部の検証環境で TypeScript SDK を使って確かめた結果から、切り替えの前に2つのモデルを突き合わせる方法を整理します。
加わった3つの項目
リリースノートとドキュメント(Models overview の「Using the Models API」)の記述をまとめると、次のとおりです。
line(10月1日):モデルの系列。Claude Opus 4.5 と 4.6 はどちらもopus。系列に属さないモデルはnull。ドキュメントは、モデルIDの文字列から系列を推測せず、この項目を読むよう書いている。値の種類は今後増えうるcapabilities.thinking.types.disabled(10月5日):thinking: {type: "disabled"}(思考をオフにする指定)を受け付けるか。falseなら 400 エラーになる。思考に対応しないモデルではtruecapabilities.server_tools(10月6日):Web検索(web_search)とコード実行(code_execution)のツールに対応するか
Models API はこれまでも、入力の上限(max_input_tokens)、出力の上限(max_tokens)と、capabilities のオブジェクト(バッチ、構造化出力、画像・PDFの入力、effort の段階、思考の種類など)を返していました。今回の3つで、モデルの切り替えで 400 エラーの原因になりうる項目が、さらに API から確かめられるようになりました。
「対応している」の意味に注意

ドキュメントは、いくつかの項目について、true でも必ず成功するわけではないと注意しています。
server_tools:対象はWeb検索とコード実行だけで、Web fetch など他のサーバーツールは含まない。supportedは、そのツールの少なくとも1つの版に対応していればtrueで、すべての版に対応するとは限らない。対応していても、管理者がWeb検索をオフにしているなど、組織の設定で失敗することがあるthinking.types.disabled:trueでも、思考をオフにしたときに許されない effort の段階と組み合わせると拒否されることがある- 最上位の
code_execution:server_tools.code_executionとは別物。コード実行のツールの中から、リクエストのほかのツールを呼べるか(programmatic tool calling)を示す。ドキュメントの例では、Claude Haiku 4.5 はserver_tools.code_executionがtrue、最上位のcode_executionがfalse
つまり Models API は、「明らかに通らない組み合わせを先に見つける」ための確認で、通ることの保証ではありません。最終的には、検証用の環境で実際のリクエストを送って確かめます。
切り替え前に突き合わせるスクリプト
編集部では、2つのモデルの capabilities を取得し、違いだけを表示する TypeScript のスクリプトを書きました。
import Anthropic from '@anthropic-ai/sdk';
const client = new Anthropic();
const [fromId, toId] = process.argv.slice(2);
const from = await client.models.retrieve(fromId);
const to = await client.models.retrieve(toId);
const checks: Array<[string, (m: Anthropic.ModelInfo) => unknown]> = [
['line', (m) => m.line],
['max_input_tokens', (m) => m.max_input_tokens],
['max_tokens', (m) => m.max_tokens],
['thinking: enabled (budget_tokens)', (m) => m.capabilities?.thinking.types.enabled.supported],
['thinking: disabled', (m) => m.capabilities?.thinking.types.disabled.supported],
['structured_outputs', (m) => m.capabilities?.structured_outputs.supported],
['batch', (m) => m.capabilities?.batch.supported],
['server_tools.web_search', (m) => m.capabilities?.server_tools.web_search.supported],
['server_tools.code_execution', (m) => m.capabilities?.server_tools.code_execution.supported],
['effort: low', (m) => m.capabilities?.effort.low.supported],
];
for (const [name, read] of checks) {
const a = read(from);
const b = read(to);
if (a !== b) console.log(`${name}: ${fromId}=${a} -> ${toId}=${b}`);
}
使い方は、現在のモデルIDと切り替え先のモデルIDを渡すだけです。表示された項目のうち、true から false に変わったものが、今のコードで使っていないかを確認します。例えば thinking: enabled が false に変わるなら、budget_tokens を指定しているリクエストを effort の指定に書き換える必要があります。
検証環境で確かめたこと
編集部の検証環境(Node.js v22.22.0、@anthropic-ai/sdk 0.135.0、TypeScript 5.9.3)で、次を確認しました。
- 上のスクリプトは、
strictの設定で型チェックが通る - SDK の型定義に
line・server_tools・thinking.types.disabledが入ったのは 0.132.0(npm の公開日は2026年10月7日)からで、0.131.0 までは無い。古い SDK のままだと、型の上では読めない - 0.135.0(10月15日公開)の型定義には、
thinking.types.between_toolsも加わっている。一方、server_tools.web_fetchは無く、上のドキュメントの説明と一致する - ローカルに立てたスタブのサーバー(Models API の形の応答を返すもの。値は検証用の架空のもの)に向けて実行し、2つのモデルの取得と、違いだけを表示する動きを確認した
実際の Claude API への問い合わせはしていないため、各モデルが実際に返す値は確認していません。
運用に組み込むなら
編集部の提案として、Models API の確認を次の場面に組み込むと、切り替えの見落としを減らせます。
- モデルIDを変える PR のチェック:CI で上のスクリプトを実行し、差分を PR のコメントに残す
- 系列での分岐:「Opus 系なら〜」のようにモデルIDの文字列で判定している箇所を、
lineを読む形に直す - 機能の出し分け:Web検索やコード実行を使う機能は、
server_toolsがfalseのモデルでは無効にする(ただし組織の設定でも失敗しうるので、エラー時の扱いも残す)
モデルの廃止の予定は、Models API ではなく Model deprecations のページで告知されます。切り替えの計画には、両方を使います。
最近のモデルの切り替えの注意点は、Claude Sonnet 5.5 へ替える前に、費用の観点は安い新モデルが出ても、請求額は自動では下がらない、複数のモデルを使い分ける設計はマルチモデルのルーティングの記事で扱っています。
確認した範囲
2026年10月16日に、Claude Platform のリリースノート(September 28・30、October 1・5・6・7, 2026)、Models overview の「Using the Models API」、API リファレンスの List Models を直接取得して確認しました(資料調査)。あわせて、npm に公開された
@anthropic-ai/sdk0.128.0〜0.135.0 の型定義を比べ、0.135.0 で上のスクリプトの型チェックとローカルのスタブでの実行を行いました(実機検証。実際の Claude API への送信ではありません)。各モデルが実際に返す値、Amazon Bedrock・Google Cloud など他の経路での Models API の扱いは確認していません。
Claude API を組み込んだシステムのモデルの切り替えや、保守の計画づくりは、開発・AI・自動化のご相談からお問い合わせください。









