Claude Codeのフォールバックモデル設定(fallbackModel)について調査してみた

Claude Codeのフォールバックモデル設定(fallbackModel)について調査してみた

Claude Codeで高性能モデルを使っていると、アクセス集中時にリクエストが失敗することがあります。本記事では、`fallbackModel`設定を使ってモデル利用不可時に自動で別モデルに切り替える方法を紹介します!
2026.07.25

こんにちは、つくぼし(tsukuboshi0755)です!

Claude Codeを使っていると、モデルの過負荷で一時的にリクエストに失敗することがあります。
特にOpusなどの高性能モデルを常用していると、アクセス集中時にリクエストが通らず作業を中断せざるを得ないことがあります。

そこで本記事では、Claude CodeのfallbackModel設定を使ってモデル利用不可時に自動で別モデルに切り替える方法について紹介します!

fallbackModelとは

fallbackModelは、Claude Codeのプライマリモデルが過負荷・利用不可・非リトライ可能なサーバーエラーを返した際に、自動的に別のモデルに切り替える機能です。

フォールバックは現在のターンのみに適用されます。
次のターンでは再びプライマリモデルから試行されるため、一時的な問題が解消されていればプライマリモデルでの処理が継続されます。

フォールバックが発火する条件

以下の条件でフォールバックが発火します。

  • プライマリモデルが過負荷の場合
  • プライマリモデルが利用不可の場合
  • 非リトライ可能なサーバーエラーが発生した場合

フォールバックが発火しない条件

以下のエラーではフォールバックは発火しません。
通常のリトライ処理やエラーハンドリングで対処されます。

  • 認証エラー
  • 課金エラー
  • レートリミットエラー(HTTP 429)
  • リクエストサイズエラー
  • トランスポートエラー

設定方法

fallbackModelは2つの方法で設定できます。

settings.jsonでの設定(永続的)

settings.jsonfallbackModelキーを追加し、フォールバック先のモデルを配列で指定します。

{
  "fallbackModel": ["claude-sonnet-5", "claude-haiku-4-5"]
}

この設定はセッションをまたいで有効になります。

settings.jsonの配置場所は以下の5箇所があり、上から順に優先度が高くなります。

優先度 ファイル スコープ
1 --fallback-modelフラグ セッション単位
2 Managed settings 組織管理
3 .claude/settings.local.json プロジェクト(ローカル)
4 .claude/settings.json プロジェクト
5 ~/.claude/settings.json ユーザー

注意点として、fallbackModel設定ファイル間でマージされません
最も優先度の高いファイルの設定がそのままチェーン全体として使用されます。

CLIフラグでの設定(セッション単位)

--fallback-modelフラグを使用すると、単一セッションのみに適用されるフォールバック設定を指定できます。

claude --fallback-model sonnet,haiku

カンマ区切りで複数のモデルを指定でき、指定した順にフォールバックが試行されます。
このフラグはsettings.jsonfallbackModel設定より優先されます。

指定可能な値

フォールバック先のモデルとして、以下の形式が使用できます。

  • モデル名(claude-sonnet-5claude-opus-4-8など)
  • モデルエイリアス(opussonnethaikufablebestdefault
  • 特殊キーワードdefaultはアカウントのデフォルトモデルに展開される

フォールバックチェーンの制約

フォールバックチェーンにはいくつかの制約があります。

最大3モデルまで

チェーンに指定できるモデルは最大3つです。
4つ以上指定した場合、余分なエントリは無視されます。

重複の自動除去

チェーン内の重複モデルは自動的に除去されます。

availableModelsとの連携

availableModels(利用可能モデルの制限設定)が設定されている場合、availableModelsに含まれないモデルはフォールバックチェーンから自動的に除外されます。

compaction時の制約

コンテキストのcompaction(圧縮)処理中は、プライマリモデルよりもコンテキストウィンドウが小さいモデルにはフォールバックしません。
compaction中にコンテキストウィンドウの小さいモデルへ切り替えると、会話履歴を保持できない可能性があるためです。

API の fallbacks パラメータとの違い

Claude CodeのfallbackModel設定と、Claude APIのfallbacksパラメータは名前こそ似ていますが、仕組みは異なります。

観点 Claude Code fallbackModel Claude API fallbacks
レイヤー CLIハーネスレベル Messages APIレベル
トリガー モデルの過負荷/利用不可 安全性分類器による拒否
主な用途 可用性の確保 コンテンツ安全性のルーティング
対象モデル 任意のモデル Fable 5のrefusal時のフォールバック
設定方法 settings.json / CLIフラグ APIリクエストパラメータ + betaヘッダー

APIのfallbacksパラメータは、Claude Fable 5が安全性分類器によってリクエストを拒否(stop_reason: "refusal")した際に、別モデルで同じリクエストを自動リトライする機能です。
一方、Claude CodeのfallbackModelはモデル自体が利用できない場合のフォールバックであり、用途が異なります。

参考資料

https://code.claude.com/docs/en/model-config

https://code.claude.com/docs/en/settings

https://code.claude.com/docs/en/cli-reference

最後に

今回は、Claude Codeのフォールバックモデル設定(fallbackModel)について紹介しました。

fallbackModelを設定しておくことで、プライマリモデルが一時的に利用できない場合でも作業を中断せずに済みます。
特にOpusなどの高性能モデルを常用している場合は、SonnetやHaikuをフォールバック先として設定しておくと、可用性を高められるためおすすめです。

なお、フォールバックは現在のターンのみに適用されるため、プライマリモデルが復旧すれば自動的に元のモデルに戻ります。
「フォールバックモデルに固定されてしまうのでは」という心配は不要です。

以上、つくぼし(tsukuboshi0755)でした!


Claudeならクラスメソッドにお任せください

クラスメソッドは、Anthropic社とリセラー契約を締結しています。各種製品ガイドから、業種別の活用法、フェーズごとのお悩み解決などサービス支援ページにまとめております。まずはご覧いただき、お気軽にご相談ください。

サービス詳細を見る

この記事をシェアする

AI白書

関連記事