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.com | claude-sonnet-4-6 | OAuth or API Key |
| Z.AI | https://api.z.ai/api/anthropic | GLM-5.1, GLM-4.7 | Anthropic互換 |
| MiniMax | https://api.minimax.io/anthropic/v1 | MiniMax-M2.7 | Anthropic互換 |
| OpenRouter | https://openrouter.ai/api/v1 | 多数 | Anthropic互換 |
| ローカルプロキシ | http://127.0.0.1:PORT | (設定次第) | カスタムルーティング |
モデルマッピングの仕組み
Claude Codeは内部的に3つのモデルスロットを使います。各スロットに任意のモデル名を割り当てられます。
| スロット | 設定変数 | デフォルト | 用途 |
| sonnet | ANTHROPIC_DEFAULT_SONNET_MODEL | claude-sonnet-4-6 | 標準タスク |
| opus | ANTHROPIC_DEFAULT_OPUS_MODEL | claude-opus-4-7 | 最高品質 |
| haiku | ANTHROPIC_DEFAULT_HAIKU_MODEL | claude-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 Unauthorized | APIキー不一致 | 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自動切替 |
← ガイド一覧に戻る