Claude Code LLM切り替えガイド

概要

Claude CodeはAnthropic API互換のエンドポイントなら任意のLLMプロバイダーに接続できます。環境変数かsettings.jsonでBase URLとモデル名を変更するだけです。

設定方法

方法1: settings.json(推奨・永続的)
~/.claude/settings.json の env セクション: { "env": { "ANTHROPIC_BASE_URL": "https://api.example.com/v1", "ANTHROPIC_AUTH_TOKEN": "sk-xxxxx", "ANTHROPIC_DEFAULT_SONNET_MODEL": "モデル名", "ANTHROPIC_DEFAULT_OPUS_MODEL": "モデル名", "ANTHROPIC_DEFAULT_HAIKU_MODEL": "モデル名" } }
方法2: 環境変数(一時的)
export ANTHROPIC_BASE_URL="https://api.example.com/v1" export ANTHROPIC_AUTH_TOKEN="sk-xxxxx" claude
方法3: ローカルプロキシ経由
ANTHROPIC_BASE_URL="http://127.0.0.1:8787"
ローカルプロキシを使うと、使用量に応じてモデル自動切替やピーク時間ブロックなど高度なルーティングが可能

主要プロバイダー一覧

プロバイダーBase URLモデル例備考
Anthropic(公式)https://api.anthropic.comclaude-sonnet-4-6OAuth or API Key
Z.AIhttps://api.z.ai/api/anthropicGLM-5.1, GLM-4.7Anthropic互換
MiniMaxhttps://api.minimax.io/anthropic/v1MiniMax-M2.7Anthropic互換
OpenRouterhttps://openrouter.ai/api/v1多数Anthropic互換
ローカルプロキシhttp://127.0.0.1:PORT(設定次第)カスタムルーティング

モデルマッピングの仕組み

Claude Codeは内部的に3つのモデルスロットを使います。各スロットに任意のモデル名を割り当てられます。

スロット設定変数デフォルト用途
sonnetANTHROPIC_DEFAULT_SONNET_MODELclaude-sonnet-4-6標準タスク
opusANTHROPIC_DEFAULT_OPUS_MODELclaude-opus-4-7最高品質
haikuANTHROPIC_DEFAULT_HAIKU_MODELclaude-haiku-4-5高速・低コスト
Z.AIの例: sonnet→GLM-4.7, opus→GLM-5.1, haiku→GLM-4.5-Air

設定例: Z.AI(GLM)

~/.claude/settings.json: "env": { "ANTHROPIC_BASE_URL": "https://api.z.ai/api/anthropic", "ANTHROPIC_AUTH_TOKEN": "zai-のAPIキー", "ANTHROPIC_DEFAULT_SONNET_MODEL": "GLM-4.7", "ANTHROPIC_DEFAULT_OPUS_MODEL": "GLM-5.1", "ANTHROPIC_DEFAULT_HAIKU_MODEL": "GLM-4.5-Air" }

設定例: ローカルプロキシ経由(Z.AI + MiniMax自動切替)

~/.claude/settings.json: "env": { "ANTHROPIC_BASE_URL": "http://127.0.0.1:8787", "ANTHROPIC_AUTH_TOKEN": "zai-のAPIキー" }
プロキシ側で使用量・時間帯に応じてGLM↔MiniMaxを自動切替。モデルマッピングはプロキシ側で管理。

設定例: OpenRouter

~/.claude/settings.json: "env": { "ANTHROPIC_BASE_URL": "https://openrouter.ai/api/v1", "ANTHROPIC_AUTH_TOKEN": "sk-or-のAPIキー", "ANTHROPIC_DEFAULT_SONNET_MODEL": "anthropic/claude-sonnet-4-6" }

トラブルシューティング

症状原因解決
接続エラーBase URL間違いURL末尾の /v1 の有無を確認
401 UnauthorizedAPIキー不一致ANTHROPIC_AUTH_TOKEN を確認
モデル不明エラーモデル名間違いプロバイダーのモデル一覧を確認
設定が反映されない環境変数が優先既存の export を確認、再起動
設定変更後はClaude Codeの再起動が必要です(環境変数は起動時に読み込まれます)。

現在の設定確認方法

# プロキシの状態確認 curl -s http://127.0.0.1:8787/proxy/status | python3 -m json.tool
# settings.jsonの確認 grep ANTHROPIC_BASE_URL ~/.claude/settings.json
# 環境変数の確認 echo $ANTHROPIC_BASE_URL
注意: /status は404。正しいエンドポイントは /proxy/status

⑦-ZAIエラー時のMiniMax自動切替

Z.AI(GLM)でエラーが発生した場合、自動的にMiniMaxにフォールバックします:

エラー種類動作安全性
429(レートリミット)GLM-4.7 → MiniMax✅ 自動切替
500/502/503(サーバーエラー)→ MiniMax✅ 自動切替
タイムアウト(1200s)→ MiniMax✅ 自動切替
接続エラー→ MiniMax✅ 自動切替
MiniMaxもエラー503返す⚠️ 全滅
これにより、Z.AIの調子が悪くても自動的にMiniMaxがバックアップとして動作し、タスクが中断しにくくなります。MiniMaxはGLM-5.1比78%安い($0.30/$1.20)ため、コスト面も有利です。

⑧-フォールバックチェーン全景

リクエスト → ①正常: ZAI(GLM-5.1) → ②ピーク時間帯(15-19時): MiniMax → ③429エラー: GLM-4.7 → MiniMax → ④その他エラー(500/502等): → MiniMax【NEW】 → ⑤MiniMax死亡: 503返す
どこかで障害が起きても、最後までMiniMaxが守り抜きます。Claude Codeを再起動するまでもありません。

自動フォールバック機構

Claude Code起動時にプロキシ生死を自動判定します:

プロキシ状態実際の接続先安全性
生存プロキシ経由(ピーク時間帯はMiniMax)✅ 自动切替
死亡Z.AI(GLM)に直結✅ 安全フォールバック
sync-secrets-to-settings.sh Hookが起動時に以下を実行: 1. .secrets.env を source 2. プロキシ生存チェック 3. 生存→プロキシURL、死亡→直結URL 4. settings.json に書き込み

セッション途中の緊急対処(プロキシ死亡時)

症状: 突然API接続エラー
# 1. 手動再起動 pkill -f glm_rate_proxy; sleep 1 cd ~/.claude/scripts/glm-rate-proxy && \ PYTHONPATH=src nohup python3 -m glm_rate_proxy > /tmp/glm-proxy.log 2>&1 & # 2. 確認 sleep 2 curl -sf http://127.0.0.1:8787/proxy/status # 3. 繋がらない場合: ログ確認 tail /tmp/glm-proxy.log
プロキシは約40MBの軽量プロセス。5/23から6日間連続で稼働実績あり。稀に落ちるケースはSSHセッション切断時のSIGTERM伝播。

プロキシ経由にする理由

benefit説明
429対策使用率に応じてGLM-5.1→4.7→Flash→MiniMaxと自動降格
ピークブロック15-19時のピーク時間帯はMiniMaxに自動ルーティング(GLM消費抑制)
安全補償プロキシ死亡時は自動的にGLM直結にフォールバック
⑦全エラー対策【NEW】429/500/502/タイムアウト/接続エラー → MiniMax自動切替
← ガイド一覧に戻る