
Claude Sonnet 4.5は11月30日に提供終了。Sonnet 5.5への移行で400エラーになる設定と直し方
2026年9月30日、AnthropicはClaude Sonnet 4.5(claude-sonnet-4-5-20250929)の廃止を告知しました。Claude APIでの提供終了(Retired)は2026年11月30日で、推奨の移行先は claude-sonnet-5-5 です。提供終了後、このモデルへのリクエストは失敗します。
ただし、モデルIDを書き換えるだけでは動かないケースが多くあります。Sonnet 4.5で普通に使えていた設定のいくつかが、Sonnet 5.5では400エラーになるためです。この記事では、Anthropicの公式ドキュメント(Model deprecations と Claude Sonnet 5.5 migration guide)をもとに、Sonnet 4.5から移るときに直す箇所を整理します。内容は2026年10月14日時点のものです。最新は公式ドキュメントで確認してください。
この記事が関係する人・関係しない人
関係する人
Claude API、Claude Platform on AWS、Microsoft Foundryで claude-sonnet-4-5-20250929 を呼んでいる人(2026年11月30日に提供終了)
Sonnet 4.5向けの設定(budget_tokens、temperature などのサンプリング設定、プリフィル、tool_choice の any / tool、computer_20250124、output_format)のまま Sonnet 5.5 に移そうとしている人
Amazon BedrockやGoogle CloudでSonnet 4.5を使っている人も、Sonnet 5.5へ移すときのコードの変更は確認が必要です(提供終了日と一部の対応状況は各社で異なるため、各社のモデル表で確認)
関係しない人
Sonnet 4.5(claude-sonnet-4-5-20250929)をどこからも呼んでいない人
Claude Managed Agentsだけを使っている人は、モデル名の変更以外の作業は不要とされています
自分が当てはまるかの確認方法
Claude Consoleの Usage ページで Export を押し、ダウンロードしたCSVで、APIキー別・モデル別の利用状況を確認します。claude-sonnet-4-5-20250929 が残っていれば対象です
スケジュールと対象範囲
2026年9月30日: 廃止(Deprecated)の告知
2026年11月30日: 提供終了(Retired)。以降のリクエストは失敗する
Requests to models past the retirement date will fail.
訳: 提供終了日を過ぎたモデルへのリクエストは失敗します。(Anthropic「Model deprecations」)
この日付は、Anthropicが運営するプラットフォーム(Claude API、Claude Platform on AWS、Microsoft Foundry)のものです。Amazon BedrockとGoogle Cloudは各社が独自にスケジュールを決めるため、日付が異なる場合があります。それぞれのモデル表を確認してください。
どこでSonnet 4.5を使っているか分からない場合は、Claude Consoleの Usage ページで Export を押すと、APIキー別・モデル別の利用状況をCSVで取得できます。
Sonnet 5.5の基本情報と料金
モデルID: claude-sonnet-5-5(日付のサフィックスなし)。Amazon Bedrockでは anthropic.claude-sonnet-5-5
コンテキストウィンドウ: 100万トークン(ベータヘッダー不要)
最大出力: 12万8千トークン
effort の既定値: high
料金(100万トークンあたり、米ドル)は次のとおりです。
Sonnet 5.5: 入力 $2 / 出力 $10 / キャッシュ書き込み(5分)$2.50 / キャッシュ読み取り $0.10
Sonnet 4.5: 入力 $3 / 出力 $15 / キャッシュ書き込み(5分)$3.75 / キャッシュ読み取り $0.30
単価は下がりますが、注意点があります。Sonnet 5.5は新しいトークナイザーを使っていて、同じテキストでもSonnet 4.5より約30%多いトークン数になります(内容によって変わります)。単純計算では、単価が3分の2で、トークン数が1.3倍なので、テキストだけならおよそ0.87倍です。ただし、後で説明するとおり思考(thinking)が既定でオンになるため、出力トークンは増える可能性があります。移行前にトークンカウントAPIで数え直し、コストを見積もり直すのが確実です。
Against Claude Sonnet 4.6, Claude Sonnet 4.5, and Claude Haiku 4.5, the same text produces about 30% more tokens, depending on the content.
訳: Claude Sonnet 4.6、Claude Sonnet 4.5、Claude Haiku 4.5と比べて、同じテキストでも約30%多いトークン数になります(内容によって変わります)。(Anthropic「Claude Sonnet 5.5 migration guide」)
画像も変わります。Sonnet 5.5は長辺2576ピクセル・1枚あたり最大4,784トークンの高解像度で扱います(Sonnet 4.5は1568ピクセル・1,568トークンまで)。公式の例では、2000×1500の画像は約2.5倍のトークンになります。

400エラーになる変更(Sonnet 4.5から移る場合)
Sonnet 4.5のコードで、そのままではエラーになるものを並べます。
It leaves out five settings that return a 400 error: thinking budgets, sampling parameters, assistant prefill, forced tool choice, and thinking: {"type": "disabled"}.
訳: このリクエストには、400エラーになる5つの設定を入れていません。思考の予算、サンプリングのパラメーター、アシスタントのプリフィル、ツールの強制指定、thinking: {"type": "disabled"} です。(Anthropic「Claude Sonnet 5.5 migration guide」)
1. 思考の予算指定(budget_tokens)
Sonnet 4.5では、thinking: {"type": "enabled", "budget_tokens": N} で思考を使っていました。Sonnet 5.5ではこれが400エラーです。予算を消して、output_config.effort で思考の量を指定します。予算とeffortの決まった対応表はないので、2〜3段階のeffortで評価してから決めます。
# Sonnet 4.5
client.messages.create(
model="claude-sonnet-4-5-20250929",
max_tokens=16000,
thinking={"type": "enabled", "budget_tokens": 10000},
messages=[{"role": "user", "content": "..."}],
)
# Sonnet 5.5
client.messages.create(
model="claude-sonnet-5-5",
max_tokens=16000,
thinking={"type": "adaptive"},
output_config={"effort": "high"}, # low / medium / high / xhigh / max
messages=[{"role": "user", "content": "..."}],
)2. thinking: disabled
Sonnet 5.5が受け付ける thinking.type は "adaptive" と "between_tools" だけです。{"type": "disabled"} は400エラーになります。事前の思考をさせたくない場合は {"type": "between_tools"} を送ります。これは effort が low・medium・high のときだけ使え、xhigh・max と組み合わせると400エラーです。
3. temperature / top_p / top_k
既定以外の値を指定すると400エラーになります。削除して、出力の傾向はプロンプトで指示します。なお、Python SDK v1.0以降ではこの3つのパラメーター自体が削除されていて、渡すと TypeError になります。
4. アシスタントのプリフィル
会話の最後をassistantメッセージにして、応答の書き出しを指定する「プリフィル」は使えません。エラーメッセージは「This model does not support assistant message prefill.」で、会話はuserメッセージで終える必要があります。目的ごとの置き換え先は次のとおりです。
出力形式をそろえるため → structured outputs(output_config.format)か、enumを持つツール
前置きを省かせるため → systemプロンプトで「すぐ本題に入る」よう指示
途中から続けさせるため → userメッセージに「前の応答は途中で切れた。続きから書いて」と、切れた箇所を入れる
5. tool_choice の any / tool
特定のツールを強制する tool_choice: {"type": "tool", ...} と {"type": "any"} は400エラーです。{"type": "auto"} にして、ツール定義に "strict": true を付けます。auto ではツールを呼ばずに答えることもあるので、いつツールを使うかをプロンプトに書きます。strict は1リクエストあたり最大20ツールで、すべてのobjectに additionalProperties: false が必要です。Amazon BedrockではSonnet 5.5のstructured outputs(strictを含む)が使えないため、strictなしの auto にして、入力をコード側で検証します。
6. computer use のツールバージョン
Sonnet 4.5で使っていた computer_20250124 は、どのプラットフォームでも受け付けられません。Claude APIとGoogle Cloudでは computer_toolset_20260801、Amazon Bedrockでは computer_20251124 に移します。
7. output_format とベータヘッダー
output_format は非推奨で、structured-outputs-2025-11-13 ヘッダーなしで送ると400エラーです。output_config.format に移します
fine-grained-tool-streaming-2025-05-14 は、ツールごとの eager_input_streaming: true に置き換えます(computer use のツールセットと一緒に送ると400エラー)
interleaved-thinking-2025-05-14 は不要なので削除します。適応的思考はツール呼び出しの間でも自動で動きます
コンテキストウィンドウ拡張用のベータヘッダーも削除します

エラーにはならないが、挙動が変わる点
思考が既定でオンになる
Sonnet 4.5では、thinking フィールドを省くと思考なしで動いていました。Sonnet 5.5では、省くと適応的思考が動きます。そのため次の3点を確認します。
応答をtypeで読む: 先頭に thinking ブロックが来ることがあるので、content[0].text を決め打ちで読むコードは壊れます
thinkingブロックはそのまま返す: ツール使用のループでは、空のものも含めて変更せずに次のリクエストに入れます
max_tokens を見直す: max_tokens は思考とテキストの合計で、思考トークンは出力トークンとして課金されます
思考の本文は既定で省略されます(display の既定が "omitted")。要約を画面に出していたなら display: "summarized" を指定します。
ツール呼び出しの間のテキストが thinking ブロックで返る
ツール呼び出しの合間にモデルが書く、1〜2文より長いメモは、テキストではなく進捗更新の thinking ブロックとして返ります。既定の display では中身が空です。エラーにはなりませんが、途中経過を画面に出しているアプリでは表示が止まったように見えます。
その他
effort を明示する: Sonnet 4.5にはeffortがありませんでした。既定は high です。公式ドキュメントでは、エージェント的なコーディングや多段のツール使用は、仕様が明確なタスクなら medium から、チャットなど応答速度が大事な用途は medium か low から始めることを勧めています
tool の入力は標準のJSONパーサーで読む: ツール引数のエスケープのされ方が変わることがあります
拒否のカテゴリ: 拒否は stop_reason: "refusal" で返り、stop_details に cyber、bio、general_harms などのカテゴリが入ることがあります
プロンプトキャッシュの最小サイズ: 1,024トークンから512トークンに下がりました
会話は追記のみにする: thinkingブロックはそれまでの会話に対して署名されます。2026年8月31日以降に作られたアカウントでは、過去の履歴を編集してからブロックを送り直すと400エラーになります
移行の進め方
Consoleの Usage → Export で、Sonnet 4.5を使っているAPIキーと呼び出し元を洗い出す
モデルIDを claude-sonnet-5-5 に変え、上の400エラーになる設定(budget_tokens、disabled、temperatureなど、プリフィル、tool_choice、computer_20250124、output_format、ベータヘッダー)を直す
応答をtypeで読むようにし、thinkingブロックの受け渡しと max_tokens を確認する
トークン数とコストを数え直し、effort を2〜3段階で評価して決める
11月30日より前に本番を切り替える
Claude Codeを使っている場合は、同梱のClaude APIスキルで移行を自動化できます。対象範囲(作業ディレクトリ全体、サブディレクトリ、ファイル指定)を確認してから、モデルIDの置き換え、パラメーターの修正、プリフィルの置き換え、effortの調整を行い、手で確認すべき項目のチェックリストを出してくれます。
/claude-api migrate this project to claude-sonnet-5-5なお、Claude Managed Agentsを使っている場合は、モデル名の変更だけでよいとされています。

まとめ
Claude Sonnet 4.5(claude-sonnet-4-5-20250929)は、Claude APIで2026年11月30日に提供終了。移行先は claude-sonnet-5-5
budget_tokens、thinking: disabled、temperature/top_p/top_k、プリフィル、tool_choice の any/tool、computer_20250124、output_format は400エラーになる
思考が既定でオンになり、応答の先頭に thinking ブロックが来る。content[0] の決め打ちに注意
単価は $3/$15 から $2/$10 に下がるが、トークン数は約30%増える。見積もりは数え直す
料金や提供範囲、各クラウドの提供終了日は変わることがあります。最新は公式ドキュメントで確認してください。
関連記事
出典: Anthropic「Model deprecations」https://platform.claude.com/docs/en/about-claude/model-deprecations / Anthropic「Claude Sonnet 5.5 migration guide」https://platform.claude.com/docs/en/models/sonnet-5-5/migration-guide / Anthropic「Claude Sonnet 5.5」https://platform.claude.com/docs/en/models/sonnet-5-5/overview / Anthropic「Pricing」https://platform.claude.com/docs/en/about-claude/pricing / Anthropic「Release notes」https://platform.claude.com/docs/en/release-notes/overview(いずれも2026年10月14日に確認)
開発ツールの仕様変更・提供終了の情報を毎朝お届けしています。見逃したくない方は、フォローしてください。