Claude Sonnet 4.5の退役は11月30日 — Sonnet 5.5への移行で確認すること
Claude Sonnet 4.5は2026年9月30日に非推奨となり、11月30日に退役します。移行先はSonnet 5.5。ID差し替えだけでは400になる設定と、料金・トークン数の変化をまとめます。
Claude Sonnet 4.5(claude-sonnet-4-5-20250929)は2026年9月30日に非推奨(Deprecated)となり、11月30日に退役します。退役後のリクエストは失敗します。推奨される移行先はclaude-sonnet-5-5です。
モデルIDを書き換えるだけでは済まない点が、今回の移行の勘所です。Sonnet 4.5で通っていたリクエストのうち、少なくとも3種類はSonnet 5.5で400エラーになります。料金は下がりますが、同じ文章が約30%多くのトークンに数えられるため、請求額は単価の比率どおりには動きません。この記事では、日付と対象範囲を押さえたうえで、洗い出しから差し替えまでの順に確認点を並べます。
Sonnet 4.5の退役日と移行先は何が決まったのか
モデル廃止ページは、2026年9月30日付で次の1行を追加しました。
| 退役日 | 非推奨になるモデル | 推奨される代替 |
|---|---|---|
| 2026年11月30日 | 非推奨になるモデルclaude-sonnet-4-5-20250929 | 推奨される代替claude-sonnet-5-5 |
Sonnet 4.5は2025年9月29日の公開です。公開から約1年で退役に至ります。ライフサイクルは、現役(Active)、更新停止(Legacy)、非推奨(Deprecated)、退役(Retired)の4段階で、非推奨は「動くが推奨しない」状態です。モデル廃止ページは、非推奨のモデルは現役のモデルより信頼性が下がりやすいと注意しています。
通知から退役までの猶予は約2ヶ月です。公開済みモデルの退役は少なくとも60日前に通知される決まりで、今回もこの下限に近い日程になっています。過去の退役の進み方と、固定とエイリアスのどちらで壊れるかはClaudeモデルの引退で自動化が止まる日で整理しています。重みの保存や退任時の面談といったAnthropicの約束はClaudeモデル廃止の約束にあります。
退役日はプラットフォームごとに違う
モデル廃止ページの日付が当てはまるのは、Anthropicが運営するプラットフォームです。具体的にはClaude API、Claude Platform on AWS、Microsoft Foundryの3つが該当します。Amazon BedrockとGoogle Cloudは各社が独自に退役日を決めるため、同じモデルでもライフサイクルの状態や日付が異なりえます。
Sonnet 4.5の概要ページは、5つの提供先でモデルIDの表記が違うことも示しています。
| 提供先 | モデルID |
|---|---|
| Claude API | モデルIDclaude-sonnet-4-5-20250929(エイリアスはclaude-sonnet-4-5) |
| Amazon Bedrock | モデルIDanthropic.claude-sonnet-4-5-20250929-v1:0 |
| Google Cloud | モデルIDclaude-sonnet-4-5@20250929 |
| Microsoft Foundry | モデルIDclaude-sonnet-4-5 |
| Claude Platform on AWS | モデルIDclaude-sonnet-4-5 |
BedrockやGoogle Cloud経由で使っている場合は、11月30日という日付を鵜呑みにせず、各クラウドのモデル表で自社のリージョンと契約の状態を確かめる必要があります。
自分の環境のどこでSonnet 4.5が動いているか
退役で困るのは、使っていることを忘れている呼び出しです。洗い出しには、Claude ConsoleのUsageページにある書き出し機能が使えます。
- ConsoleのUsageページを開く
- Exportを押す
- ダウンロードしたCSVで、APIキーとモデルごとの利用量を見る
このCSVで、claude-sonnet-4-5の行が残っているAPIキーを特定できます。キーが特定できたら、次はそのキーを使うコードです。リポジトリ内の検索は、IDの表記ゆれを拾うために日付つきの完全形とエイリアスの両方を対象にします。
grep -rnE "claude-sonnet-4-5(-20250929)?" \
--include="*.py" --include="*.ts" --include="*.json" \
--include="*.yml" --include="*.md" .設定ファイルだけでなく、サブエージェントの定義、CIのワークフロー、環境変数にもIDが書かれていることがあります。見つかった箇所は、次章の変更点に照らして1つずつ直します。
ID差し替えだけで済まない変更はどれか
移行ガイドは、Sonnet 4.5以前から移るときの変更点を、起動時から400を返すものと挙動が変わるものに分けています。Sonnet 4.5からの移行で実際に踏みやすいものは次の表のとおりです。
| 項目 | Sonnet 4.5 | Sonnet 5.5 |
|---|---|---|
temperature・top_p・top_k | Sonnet 4.5指定できる | Sonnet 5.5既定値以外は400 |
thinking: {"type": "enabled", "budget_tokens": N} | Sonnet 4.5思考の標準的な指定 | Sonnet 5.5400 |
| 末尾にassistantを置くprefill | Sonnet 4.5受け付ける | Sonnet 5.5400 |
thinkingフィールドなしのリクエスト | Sonnet 4.5思考なしで動く | Sonnet 5.5適応型の思考が動く |
thinking: {"type": "disabled"} | Sonnet 4.5受け付ける | Sonnet 5.5400 |
output_format | Sonnet 4.5使える | Sonnet 5.5非推奨。betaヘッダーなしでは400 |
サンプリングパラメーターは削除する
temperature、top_p、top_kは、Sonnet 4.5まで指定できました。Sonnet 5.5では既定値以外を渡すと400が返ります。移行ガイドの指示は「削除する」です。出力のばらつきをtemperatureで調整していた場合は、その調整をプロンプトの側へ寄せる作業が発生します。
思考の指定が変わり、思考なしの挙動も変わる
Sonnet 4.5の思考はextended thinkingで、budget_tokensでトークン数を指定する方式でした。Sonnet 5.5はこの指定に400を返し、次のエラーを出します。
"thinking.type.enabled" is not supported for this model.
Use "thinking.type.adaptive" and "output_config.effort" to
control thinking behavior.予算の値を努力水準(effort)に置き換えます。予算から水準への固定の対応表は無いと、移行ガイドに明記されています。2〜3水準で自分の評価を回して決める作業になります。Sonnet 4.5にはeffortのパラメーターが無かったため、移行先ではoutput_config.effortを明示的に設定します。
もう1つの変更が見落としやすい点です。Sonnet 4.5ではthinkingを省略すると思考なしで動きました。Sonnet 5.5は同じリクエストで適応型の思考を走らせます。影響は3つあります。
- 応答の先頭に
thinkingブロックが来るため、content[0].textを読むコードは壊れる - ツール呼び出しのループでは、
thinkingブロックをそのまま次のリクエストへ返す - 思考のトークンは出力として課金され、
max_tokensにも含まれる
従来どおり思考なしで動かしたい場合は、thinking: {"type": "between_tools"}を送ります。Sonnet 5.5ではdisabledが400になる点に注意してください。between_toolsはlow・medium・highの水準で使え、xhighとmaxでは400です。思考の本文は既定で省かれ、読みたい場合はdisplay: "summarized"を指定します。
prefillは使えなくなる
応答の書き出しをassistantの最終ターンとして渡すprefillは、Sonnet 5.5が400で拒否します。エラー文は「This model does not support assistant message prefill. The conversation must end with a user message.」です。移行ガイドはprefillの目的別に置き換え先を示しています。
| prefillの目的 | 置き換え先 |
|---|---|
| 出力形式の固定 | 置き換え先structured outputs、または分類ならenum付きのツール |
| 前置きの除去 | 置き換え先システムプロンプトで直接回答を求める |
| 不要な拒否の回避 | 置き換え先ユーザーメッセージで明確に指示する |
| 途切れた応答の続き | 置き換え先ユーザーメッセージに「前回の応答はここで途切れた」と書いて続きを求める |
| 文脈のリマインド | 置き換え先ユーザーターンに書く |
Amazon Bedrockでは、Sonnet 5.5でstructured outputsが使えません。その場合はプロンプトで形式を説明するか、strictなしのツールを使い、出力はコード側で検証します。5つの移行先を詳しく比べた記事はClaude 4.6でprefillが廃止された理由と5つの移行先です。
ベータヘッダーとパラメーター名も整理する
Sonnet 4.5向けに付けていたヘッダーにも見直しが要ります。
- コンテキストウィンドウ拡張のベータヘッダーは削除する。Sonnet 5.5は追加のヘッダーなしで大きなコンテキストを扱える
interleaved-thinking-2025-05-14は削除する。適応型の思考は自動で交互に動くfine-grained-tool-streaming-2025-05-14は、必要なツールごとにeager_input_streaming: trueを付ける形へ置き換えるoutput_formatはoutput_config.formatへ移す
ツール呼び出しの引数でエスケープの扱いが変わる場合があるため、inputは標準のJSONパーサーで読みます。
料金は下がるがトークン数が増える
料金表で、Sonnet 4.5とSonnet 5.5を並べます。
Sonnet 5.5の単価は4.5より低い
Sonnet 4.5 入力 / 出力
$3 / $15
コンテキスト200K、最大出力64K
Sonnet 5.5 入力 / 出力
$2 / $10
コンテキスト1M、最大出力128K
キャッシュ読み取り
$0.30 → $0.10
Sonnet 4.5から5.5へ
単価だけを見ると、入力も出力も約3分の1安くなります。ただし移行ガイドには「同じ文章が約30%多いトークンになる」という注記があります。Sonnet 5.5はSonnet 5と同じトークナイザーを使っており、Sonnet 4.5と比べると内容によって約30%のトークン増になります。
単純計算をすると、入力が$2×1.3で$2.6相当、出力が$10×1.3で$13相当です。Sonnet 4.5の$3と$15に対して、入力で約13%、出力で約13%の低下にとどまります。実際の増え方は文章の内容に依存するので、この値は目安にすぎません。移行の前にトークン計数で自分のデータを数え直し、max_tokensとコストを見直すよう、移行ガイドは求めています。日本語の費用見積もりはToken Count APIで日本語コンテンツの費用を事前に見積もるの手順が使えます。
画像を渡している場合は、追加の変更があります。Sonnet 5.5は高解像度の画像に対応し、長辺は2576ピクセル、1枚あたり最大4,784の視覚トークンです。Sonnet 4.5は長辺1568ピクセル、1,568トークンまでです。移行ガイドの例では、2000×1500の画像のトークン数はSonnet 5.5で約2.5倍になります。画像が多い処理は、文章より先にコストの見直しが要ります。
Batch APIの50%割引はSonnet 4.5とSonnet 5.5のどちらにも適用されます。バッチ処理の使い方はClaude Batch APIの使い方にあります。
差し替えの実作業はどう進めるか
変更点が多いので、1つの設定ファイルで一度に直さず、次の順序で進めると切り分けが楽になります。
Sonnet 5.5へ移すときの順序
- 1
利用箇所を洗い出す
ConsoleのUsage書き出しとリポジトリの検索で、Sonnet 4.5を呼ぶ場所を一覧にします。
- 2
400になる指定を先に消す
サンプリングパラメーター、
budget_tokens、prefill、disabledをすべて取り除きます。 - 3
IDを差し替える
claude-sonnet-5-5に置き換えます。Bedrockなどは各クラウドのID表記を使います。 - 4
応答の読み方を直す
contentをブロックのtypeで読み、thinkingブロックは返送します。 - 5
トークンとコストを再計測する
トークン計数で文章と画像を数え直し、
max_tokensとeffortを評価します。
Python SDKの場合、変更前後の差は次のようになります。例は移行ガイドの内容に沿った書き方です。
# 変更前: Sonnet 4.5
client.messages.create(
model="claude-sonnet-4-5-20250929",
max_tokens=16000,
temperature=0.3,
thinking={"type": "enabled", "budget_tokens": 10000},
messages=[{"role": "user", "content": "..."}],
)
# 変更後: Sonnet 5.5
client.messages.create(
model="claude-sonnet-5-5",
max_tokens=16000,
output_config={"effort": "high"},
messages=[{"role": "user", "content": "..."}],
)変更後の例はtemperatureとbudget_tokensを外し、thinkingを省略しています。省略すると適応型の思考が動くので、応答側のコードもcontentをブロック単位で読む形に直しておきます。effortの値はhighを例に置いていますが、適切な水準は自分の評価で決めます。
移行ガイドには、モデルIDの差し替えとパラメーターの修正を進めるSkillも案内されています。対象の範囲を確認してから編集に入る仕組みで、コードベース全体を機械的に直したい場合の手段になります。
指示文と出力の癖も変わる
400が出ない変更は、テストを通っても品質が静かにずれます。Sonnet 5系は指示を文字どおりに解釈し、範囲を広げない傾向があります。Sonnet 4.5のころに「察して補ってくれた」前提で書いたプロンプトは、書かれていない部分をやらなくなることがあります。この傾向はClaude Sonnet 5は指示を文字通り解釈し、範囲を広げないで、書き方の直し方はClaude Sonnet 5.5のプロンプトガイドで扱っています。
モデルの特徴や破壊的変更の一覧はClaude Sonnet 5.5とはにあります。Sonnet 5.5の使いどころについてはClaude Sonnet 5.5の使い分けが、Opus 5.5との線引きを示しています。
4.5から5.5へ直接移ると何が重なるか
推奨移行先はclaude-sonnet-5-5の1本です。Sonnet 4.6を挟む案内は出ていません。そのため、サンプリングパラメーター、思考の指定、prefillという3つの400エラーの原因が、1回の移行にまとめて乗ります。Sonnet 4.6で既に400になっていたprefillも、4.5からの移行では初めて踏みます。
つまり、IDを書き換えた直後に動くかどうかより、4.5の前提で書いたパラメーターをいくつ外す必要があるかが作業量を決めます。temperatureを固定していた、思考の予算を細かく指定していた、prefillで形式を縛っていた。このどれかに当てはまるなら、コードの修正に加えて、評価用のデータで新旧の出力を比べる時間も見込む必要があります。
まとめ
Claude Sonnet 4.5は2026年11月30日に退役し、推奨移行先はclaude-sonnet-5-5です。確認の優先順位は、Usageの書き出しで利用箇所を洗い出す、400になる指定を消す、応答の読み方とトークン計数を直す、の順です。単価は下がっても、トークン数が約30%増えるため、請求額は想定ほど減らない可能性があります。Bedrockなど提携クラウド経由の利用は、各社の退役日を別に確かめてください。