Claude Sonnet 4.5は、Anthropicが2025年9月29日に公開した中位モデルです。2026年9月30日に非推奨(Deprecated)となり、Claude APIでは2026年11月30日に廃止されます。廃止日を過ぎると、このモデルを指定したリクエストは失敗します。公式が示す移行先は claude-sonnet-5-5 です。この記事では、Sonnet 4.5の仕様と料金を整理したうえで、Sonnet 5.5へ移すときにエラーになる指定と書き換え手順を説明します。現行のSonnetについてはClaude Sonnet 5.5の解説にまとめています。
まとめ:Claude Sonnet 4.5の現状と11月30日までにやること
- 状態:2026年9月30日に非推奨。Claude API・Claude Platform on AWS・Microsoft Foundryでは11月30日に廃止
- 仕様:文脈長20万トークン、出力上限6.4万トークン、思考はbudget_tokensで指定する拡張思考(Extended thinking)
- 料金:入力100万トークンあたり3ドル、出力15ドル。後継のSonnet 5.5は2ドルと10ドル
- 移行先:公式推奨は
claude-sonnet-5-5。思考予算・temperature・プリフィルを使っているコードは400エラーになるため書き換えが要る - 見落としやすい経路:Claude CodeはBedrock・Google Cloud・Foundryで別名
sonnetがSonnet 4.5を指し、Foundryでは既定モデルもSonnet 4.5
Bedrock・Google Cloudは各社が独自に廃止日を決めるため、11月30日とは限りません。以下、仕様、料金、廃止日、移行手順の順に説明します。
Claude Sonnet 4.5の仕様と2025年9月29日公開時の位置づけ
読み方とSonnetという中位モデルの役割
読み方は「クロード ソネット よんてんご」です。Sonnet 4.5の公開当時、Claudeのモデルは軽量で安価なHaiku、中位のSonnet、上位のOpusという3段の名前で出ていました。現在はOpusの上にFableもあります。Sonnetは性能と単価の釣り合いを狙った段です。Sonnet 4.5は、Sonnet 4(2025年5月22日)とSonnet 4.6(2026年2月17日)の間に出た版です。
| モデル | 公開日 | Claude APIでの状態(2026年10月2日時点) |
|---|---|---|
| Claude Sonnet 4 | 2025年5月22日 | 2026年6月15日に廃止済み |
| Claude Sonnet 4.5 | 2025年9月29日 | 非推奨。2026年11月30日に廃止 |
| Claude Sonnet 4.6 | 2026年2月17日 | 現役。廃止は早くても2027年2月17日以降 |
| Claude Sonnet 5 | 2026年6月30日 | 現役。廃止は早くても2027年6月30日以降 |
| Claude Sonnet 5.5 | 2026年9月28日 | 現役(現行のSonnet) |
状態と廃止日はAnthropicのモデル廃止ページの一覧によります。Sonnet 4.5より前の版はClaude APIで既に使えません。
モデルID・文脈長20万トークン・出力上限6.4万トークンの仕様
Sonnet 4.5のモデルページに載る仕様は次のとおりです。入力はテキストと画像、出力はテキストです。信頼できる知識の範囲は2025年1月まで、学習データは2025年7月までです。
| 提供先 | モデルID |
|---|---|
| Claude API | claude-sonnet-4-5-20250929 |
| Claude APIの別名 | claude-sonnet-4-5 |
| Amazon Bedrock | anthropic.claude-sonnet-4-5-20250929-v1:0 |
| Google Cloud | claude-sonnet-4-5@20250929 |
| Microsoft Foundry | claude-sonnet-4-5 |
| Claude Platform on AWS | claude-sonnet-4-5 |
文脈長は20万トークンです。「最大1,000万トークン」と書いた解説もありますが、公式の数値ではありません。Sonnet 4.5でも、ベータヘッダー context-1m-2025-08-07 で100万トークンを使える時期がありました。このベータは2026年4月30日に終了し、現在はヘッダーを付けても効かず、20万トークンを超えるリクエストはエラーになります。Bedrock・Google Cloud・Foundryの各ガイドでも20万トークンと明記されています。100万トークンが標準なのはSonnet 4.6以降です。思考は budget_tokens で上限を指定する方式で、effort パラメーターには対応しません。
公開時の発表内容:SWE-bench Verified 77.2%とOSWorld 61.4%の条件
Anthropicの公開記事では、Sonnet 4.5はSWE-bench Verifiedで最高水準とされ、スコアは77.2%でした。この値は、bashと文字列置換による編集の2ツールだけの簡素な実行環境で、思考予算20万トークン・並列試行なしの条件で500問すべてを10回試行した平均です。並列試行ありの条件では82.0%でした。計算機の操作を測るOSWorld-Verifiedでは61.4%です。4か月前に首位だったSonnet 4の42.2%は旧版のOSWorldでの値で、厳密な比較ではありません。複雑な多段階タスクで30時間を超えて作業を続けた様子が観察された、とも書かれています。
同時に、Claude Codeのチェックポイント(作業途中の状態に戻す機能)、VS Code拡張、Claude Agent SDKの公開も発表されました。安全面ではAI Safety Level 3(ASL-3)の保護措置の下で公開されています。これらのスコアは2025年9月時点の比較で、後継のSonnet 4.6はOSWorld-Verifiedで72.5%を出しています。数値の比較はClaude Sonnet 4.6の解説を参照してください。
Claude Sonnet 4.5の料金と後継モデルとの単価比較
Sonnet 4.5の単価は公開時から変わらず、Sonnet 4と同じ入力3ドル・出力15ドル(100万トークンあたり)です。プロンプトキャッシュの読み出しは0.30ドル、バッチAPIは入出力とも50%引きです。後継モデルと並べると次のようになります。
| モデル | 入力 | 出力 | キャッシュ読み出し | 文脈長 | 出力上限 |
|---|---|---|---|---|---|
| Sonnet 4.5 | $3 | $15 | $0.30 | 20万 | 6.4万 |
| Sonnet 4.6 | $3 | $15 | $0.30 | 100万 | 12.8万 |
| Sonnet 5.5 | $2 | $10 | $0.20 | 100万 | 12.8万 |
| Haiku 4.5 | $1 | $5 | $0.10 | 20万 | 6.4万 |
| Opus 5.5 | $4 | $20 | $0.20 | 100万 | 12.8万 |
単価は100万トークンあたりの米ドルで、Anthropicの料金ページ(2026年10月2日取得)によります。単価だけを見るとSonnet 5.5は3分の1安くなりますが、Sonnet 5.5はトークナイザーが変わり、同じ文章が約30%多いトークンに数えられます。増え方は内容によって変わり、日本語での値は公表されていません。公式の目安どおり30%増えるとすると、Sonnet 4.5で入力100万トークンだった文章はSonnet 5.5では約130万トークンとなり、費用は約2.6ドルです。出力も同様に約13ドルとなり、実質の値下げ幅は1割強にとどまります。さらにSonnet 5.5は思考が既定でオンになり、思考トークンは出力として課金されます。移行後の請求額は、手元のリクエストで数え直してから見積もってください。API全体の料金体系と支出上限はAnthropic APIの料金とAPIキー取得方法で整理しています。
2026年11月30日のAPI廃止スケジュールとプラットフォーム別の扱い
Claude API・Claude Platform on AWS・Foundryは11月30日で停止
Anthropicは2026年9月30日、Sonnet 4.5の利用者へ廃止を通知しました。廃止ページに載る日付は、Claude API・Claude Platform on AWS・Microsoft Foundryの3つ、つまりAnthropicが運営する提供先に適用されます。非推奨の段階ではまだ動きますが、公式は、非推奨モデルは現役モデルより信頼性が下がる可能性が高いとして、早めの移行を求めています。廃止日を過ぎたモデルへのリクエストは失敗します。
最初の作業は、Sonnet 4.5の呼び出しが残っているAPIキーの特定です。Claude ConsoleのUsageページで「Export」を押すと、APIキー別・モデル別の利用量がCSVで書き出されます。
Amazon BedrockとGoogle Cloudは各社が独自に廃止日を設定
BedrockとGoogle Cloudは、廃止日をそれぞれ独自に決めます。Anthropicの廃止日がそのまま当てはまるわけではありません。Google CloudのSonnet 4.5のモデルカードは、2026年10月2日時点でも廃止日を「早くても2026年9月29日以降」とする表記のままで、具体的な日付は載っていませんでした。
BedrockのSonnet 4.5は、Messages APIの新しい統合ではなく、InvokeModelを使う従来の統合で提供されています。基本のモデルIDをオンデマンドで直接呼ぶとエラーになり、推論プロファイルの指定が要ります。プレフィックスは global.・us.・eu.・jp. が使え、apac. は対象外です。移行先のSonnet 5.5は、InvokeModelではなく、Claude APIと同じリクエスト形式の新しい統合(エンドポイント bedrock-mantle.{region}.api.aws、モデルID anthropic.claude-sonnet-5-5、IAM権限 bedrock-mantle:CreateInference)で提供されます。モデルIDの置換だけでなく、SDKのクライアントとIAMポリシーも変わります。jp.anthropic.claude-sonnet-4-5-20250929-v1:0 で国内経路に固定している構成は、移行先でも国内処理が使えるかを先に確かめてください。経路ごとのIDと設定はBedrock Claudeの使い方で解説しています。
Claude CodeでSonnet 4.5が使われ続ける経路
APIのコードを直しても、Claude Codeが裏でSonnet 4.5を呼んでいる場合があります。Claude Codeのモデル設定ページ(2026年10月2日取得)では、別名 sonnet の解決先が提供先によって異なります。
| 提供先 | sonnet の解決先 | 既定モデル |
|---|---|---|
| Anthropic API | Sonnet 5.5 | Opus 5.5 |
| Claude Platform on AWS | Sonnet 4.6 | Opus 5.5 |
| Bedrock・Google Cloud | Sonnet 4.5 | Opus 5.5 |
| Microsoft Foundry | Sonnet 4.5 | Sonnet 4.5 |
Bedrockでは、セッション名の生成などのバックグラウンド処理も、既定でSonnet 4.5(us-* リージョンなら us.anthropic.claude-sonnet-4-5-20250929-v1:0)が担います。ANTHROPIC_MODEL で主モデルを指定するとバックグラウンド処理もそのモデルになり、Haikuに任せたい場合は ANTHROPIC_DEFAULT_HAIKU_MODEL を指定します。
特に注意が要るのはFoundryです。FoundryはClaude APIと同じ廃止スケジュールに従ううえ、Claude Codeの既定モデルがSonnet 4.5です。別名の解決先が変わるのを待たず、環境変数で版を固定しておくのが確実です。Foundryではデプロイ名を指定し、デプロイ名の既定はモデルIDと同じです。
# 別名 sonnet が指す版を固定する(Foundryでは Sonnet 5.5 のデプロイ名を指定)
export ANTHROPIC_DEFAULT_SONNET_MODEL='claude-sonnet-5-5'
# Foundry で既定モデルも差し替える場合
export ANTHROPIC_MODEL='claude-sonnet-5-5'
FoundryのSonnet 5.5はGlobal Standardのデプロイだけが対象で、Data Zone(米国内処理)は選べません。データの処理地域を米国内に限定している組織は、移行先を決める前にこの制約を確認してください。
Sonnet 4.5からSonnet 5.5へ移す手順と400エラーになる指定
書き換え対象を洗い出す確認スクリプト
Sonnet 5.5の移行ガイドは、Sonnet 4.5からの移行に必要な変更を「全モデル共通」「Sonnet 4.6以前」「Sonnet 4.5以前」の3段に分けて列挙しています。モデルIDだけを置き換えると、次の指定が残っている箇所で400エラーになるか、応答の読み取りが壊れます。リポジトリ内の該当箇所を先に数えておくと、作業量を見積もれます。
import pathlib, re, sys
# Sonnet 4.5 から Sonnet 5.5 へ移すときに書き換えが要る指定
CHECKS = [
(r"claude-sonnet-4-5|claude-sonnet-4-5@20250929|anthropic\.claude-sonnet-4-5", "モデルIDを claude-sonnet-5-5 系へ"),
(r"budget_tokens", "思考予算は400。output_config.effort へ"),
(r"\b(temperature|top_p|top_k)\b", "既定以外の値は400。削除"),
(r"interleaved-thinking-2025-05-14|context-1m", "不要になったベータヘッダー。削除"),
(r"fine-grained-tool-streaming-2025-05-14", "eager_input_streaming へ置換"),
(r"\boutput_format\b", "output_config.format へ移す"),
(r"computer_20250124", "computer use のツール版を更新"),
(r"tool_choice.{0,40}(\"any\"|'any'|\"tool\"|'tool')", "強制ツール指定は400。auto と strict へ(Bedrockは strict 不可)"),
(r"[\"']?type[\"']?\s*[:=]\s*[\"']disabled[\"']", "思考の無効化は400。between_tools へ"),
(r"content\[0\]\.text", "先頭が thinking ブロックになり得る。type で読む"),
(r"[\"']?role[\"']?\s*[:=]\s*[\"']assistant[\"']", "末尾の assistant はプリフィル扱いで400。目視確認"),
]
SKIP = {"node_modules", ".venv", "venv", ".git", "site-packages"}
EXTS = {".py", ".ts", ".js", ".mjs", ".json", ".yaml", ".yml", ".sh", ".go", ".java", ".rb", ".php"}
def main(root):
hits = 0
for path in sorted(pathlib.Path(root).rglob("*")):
if path.suffix not in EXTS or not path.is_file() or SKIP & set(path.parts):
continue
for no, line in enumerate(path.read_text(errors="ignore").splitlines(), 1):
for pattern, advice in CHECKS:
if re.search(pattern, line):
hits += 1
print(f"{path}:{no}: {advice}\n {line.strip()[:100]}")
print(f"--- {hits} 件")
return 1 if hits else 0
if __name__ == "__main__":
sys.exit(main(sys.argv[1] if len(sys.argv) > 1 else "."))
Python 3.9で、書き換え対象(思考予算・temperature・ベータヘッダー・プリフィル・先頭ブロックの直読み)を1ファイルに並べたサンプルに実行すると、6件を検出し終了コード1で止まりました。TypeScriptの { role: "assistant" } や thinking: { type: "disabled" } のように、キーを引用符で囲まない書き方も検出します。.venv などの依存パッケージのディレクトリは読み飛ばします。CIに組み込めば、Sonnet 4.5向けの指定が新しく入るのを防げます。role: assistant の行は会話履歴として正しく使っている場合も拾うため、末尾がアシスタント発話になっているかは目で確かめてください。
app/client.py:4: モデルIDを claude-sonnet-5-5 系へ
model="claude-sonnet-4-5",
app/client.py:6: 既定以外の値は400。削除
temperature=0.2,
app/client.py:7: 思考予算は400。output_config.effort へ
thinking={"type": "enabled", "budget_tokens": 10000},
app/client.py:8: 不要になったベータヘッダー。削除
extra_headers={"anthropic-beta": "interleaved-thinking-2025-05-14"},
app/client.py:11: 末尾の assistant はプリフィル扱いで400。目視確認
{"role": "assistant", "content": "{"},
app/client.py:14: 先頭が thinking ブロックになり得る。type で読む
print(resp.content[0].text)
--- 6 件
思考予算・temperature・プリフィルの書き換え
Sonnet 4.5でよく見る書き方は2系統あります。思考を使わずに temperature を下げ、最後のアシスタント発話に { を置いてJSONを書かせる形と、budget_tokens で思考量を決める形です。Sonnet 4.5では、思考をオンにすると temperature の変更もプリフィルも併用できません。Sonnet 5.5ではどちらの形も400エラーになります。次は前者の例です。
curl https://api.anthropic.com/v1/messages \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{
"model": "claude-sonnet-4-5",
"max_tokens": 16000,
"temperature": 0.2,
"messages": [
{"role": "user", "content": "請求書から会社名と金額を抜き出してJSONで返して"},
{"role": "assistant", "content": "{"}
]
}'
Sonnet 5.5向けには、プリフィルによる形式の強制を構造化出力(output_config.format)に置き換え、temperature は削除し、思考量は output_config.effort で指定します。Claude APIではSonnet 4.5のままでも output_config.format が使えるため、プリフィルの置き換えを先に済ませてからモデルIDを替えると、不具合の切り分けが楽になります。
curl https://api.anthropic.com/v1/messages \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{
"model": "claude-sonnet-5-5",
"max_tokens": 16000,
"output_config": {
"effort": "medium",
"format": {
"type": "json_schema",
"schema": {
"type": "object",
"properties": {
"company": {"type": "string"},
"amount": {"type": "integer"}
},
"required": ["company", "amount"],
"additionalProperties": false
}
}
},
"messages": [
{"role": "user", "content": "請求書から会社名と金額を抜き出してください"}
]
}'
ただし、Amazon BedrockのSonnet 5.5は構造化出力(strictなツール指定を含む)に対応していません。Bedrockでは tool_choice を auto にしたツール定義で受け取り、入力をコード側で検証します。
budget_tokens で思考量を決めていた場合、思考予算と effort の間に決まった対応表はありません。公式は2〜3段階の effort で評価し直すよう求めています。Claude APIでの既定は high で、エージェント用途や応答速度を重視する用途でなければ high から始めます。目安は、明確な指示のエージェント型コーディングなら medium、長く難しいタスクなら high、チャットなど応答速度を重視する用途なら medium か low です。Sonnet 4.5には effort の概念がないため、移行時に明示的に指定してください。プリフィルを会話の続き生成に使っていた場合は、「前回の回答は途中で途切れた。続きから書いて」のようにユーザー側の発話へ移します。
思考の既定オンとトークン約3割増への備え
Sonnet 4.5では、thinking を指定しないリクエストは思考なしで動きました。Sonnet 5.5では同じリクエストがアダプティブ思考で動き、応答の先頭に thinking ブロックが入ることがあります。content[0].text で本文を読んでいるコードは、ブロックを type で選んで読むように直します。ツールを使うループでは、thinking ブロックを空のものも含めて改変せずに返す必要があります。会話履歴は追記のみにしてください。2026年8月31日以降に作成したアカウントでは、過去の履歴を編集したうえで思考ブロックを送り直すと400になります。ツール呼び出しの入力は、エスケープの扱いが変わる場合があるため標準のJSONパーサーで読みます。Sonnet 5.5では、サイバーセキュリティ関連のリアルタイム安全対策と、stop_reason: "refusal" で返る拒否のカテゴリも増えています。
思考を止めたい場合、Sonnet 5.5では {"type": "disabled"} は400になり、代わりに {"type": "between_tools"} を送ります。between_tools は effort が low・medium・high のときだけ使え、xhigh 以上では400になります。
トークン数も変わります。同じ文章はSonnet 4.5比で約30%多く数えられるため、max_tokens の上限で切れていた処理は余裕を持たせてください。画像も高解像度の扱いになり、長辺1568ピクセル・1,568トークンが上限だったSonnet 4.5に対し、Sonnet 5.5は長辺2576ピクセル・最大4,784トークンです。公式の例では、2000×1500ピクセルの画像が約2.5倍のトークンになります。画像を大量に送る処理は、移行前にトークン数を数え直す対象です。
ベータヘッダー・output_format・computer useの更新
Sonnet 4.5で必要だったベータヘッダーは整理します。interleaved-thinking-2025-05-14 はアダプティブ思考が自動で思考とツール呼び出しを交互に行うため不要です。文脈長を広げるベータヘッダーも、Sonnet 5.5は既定で100万トークンなので外します。fine-grained-tool-streaming-2025-05-14 は、必要なツールごとに eager_input_streaming: true を付ける方式へ置き換えます。
構造化出力の output_format は非推奨で、ベータヘッダー structured-outputs-2025-11-13 なしでは400になります。output_config.format へ移してください。Bedrockでcomputer useを使っている場合は、computer_20250124 を computer_20251124 に上げます。Claude APIとGoogle Cloudでは、computer useをツールセット computer_toolset_20260801 として渡す形に変わります。Sonnet 5.5では tool_choice の any と tool も400になります。Sonnet 5から追加された変更点はClaude Sonnet 5.5の破壊的変更で個別に解説しています。
移行先をSonnet 5.5・Sonnet 4.6・Haiku 4.5から選ぶ判断基準
移行先はSonnet 5.5を既定にすべきです。公式の推奨先であり、Sonnet系で廃止の保証期間が最も長く(早くても2027年9月28日以降)、実質単価もSonnet 4.5より下がります。書き換え箇所は多いものの、上の確認スクリプトで数えれば作業量は見積もれます。
Sonnet 4.6を一時的な移行先にする手はあります。Sonnet 4.6は単価がSonnet 4.5と同じで、トークナイザーも同じなのでトークン数は変わりません。temperature も使え、budget_tokens も非推奨ながら動きます。ただし、Sonnet 4.6もプリフィルを400で拒否します。プリフィルでJSONを書かせている処理は、Sonnet 4.6へ移しても直さずには済みません。廃止の保証も2027年2月17日までしかなく、2回移行する手間を払う理由は乏しいと考えます。Sonnet 4.6を選んでよいのは、プリフィルを使っておらず、思考と temperature の再評価を2026年11月30日までに終えられない場合に限ります。
費用を下げるためにHaiku 4.5へ移すのは勧めません。単価は1ドルと5ドルでSonnet 4.5の3分の1ですが、廃止ページでは廃止が早くても2026年10月15日以降としか約束されておらず、近いうちに次の廃止通知を受ける可能性があります。文脈長もSonnet 4.5と同じ20万トークンのままです。判断がつかない場合は、Sonnet 5.5へ移したうえで effort を low から試すほうが、モデルの段を下げるより後戻りが少なく済みます。Sonnet 5とOpus 4.8の比較はClaude Sonnet 5の解説で扱っています。
よくある質問
Claude Sonnet 4.5はいつまで使えますか?
Claude API・Claude Platform on AWS・Microsoft Foundryでは2026年11月30日に廃止され、以後のリクエストは失敗します。Amazon BedrockとGoogle Cloudは各社が独自に廃止日を決めるため、各社のモデル一覧で確認してください。
Claude Sonnet 4.5の料金はいくらですか?
100万トークンあたり入力3ドル、出力15ドルです。プロンプトキャッシュの読み出しは0.30ドル、バッチAPIは入出力とも50%引きです。後継のSonnet 5.5は入力2ドル・出力10ドルですが、同じ文章で約30%多くトークンを数えます。
Claude Sonnet 4.5は何トークンまで扱えますか?
文脈長は20万トークン、1回の出力上限は6.4万トークンです。100万トークンの文脈長はSonnet 4.6以降のモデルが対象で、Sonnet 4.5には適用されません。
Claude Sonnet 4.5のモデルIDは何ですか?
Claude APIでは claude-sonnet-4-5-20250929、別名は claude-sonnet-4-5 です。Bedrockでは anthropic.claude-sonnet-4-5-20250929-v1:0 に global. などの推論プロファイルのプレフィックスを付けて呼びます。Google Cloudでは claude-sonnet-4-5@20250929 です。
Sonnet 4.5からSonnet 5.5へはモデルIDを変えるだけで移行できますか?
できない場合が多いです。budget_tokens、既定以外の temperature・top_p・top_k、末尾のアシスタント発話(プリフィル)、thinking の {"type": "disabled"}、tool_choice の any・tool はSonnet 5.5で400エラーになります。思考も既定でオンになるため、応答の読み方と max_tokens も見直しが必要です。