開発ツールの設定
Claude CodeをサードパーティーAPIに接続する方法
Anthropic Base URL、環境変数、CC SwitchでClaude Codeを設定。最初のリクエストの確認からエラー対処、移行と切り戻しまで解説します。
接続先を変える前に用意するもの
Claude Codeは、必要なAnthropic API形式に対応したサードパーティーゲートウェイへ接続できます。動作するCLI、プロバイダーの認証情報、Anthropic互換のBase URL、利用可能なClaudeモデル、残高が必要です。OpenAI Chat Completionsのエンドポイントだけでは、この設定は利用できません。
例ではAPI Routeの https://global.api-route.com と claude-sonnet-4-6 を使います。現在の料金とキーで許可されたモデルを確認し、登録後にAPI接続でキーを設定してください。初回は少量で試します。
設定は2026年10月17日に公式接続ガイド、互換性要件、モデル設定と照合しました。CLIは公式の手順でインストールし、claude --versionで確認できます。
Anthropic Base URLに /v1 を重ねて付けない
API Routeでは ANTHROPIC_BASE_URL=https://global.api-route.com を指定します。Claude Code側が /v1/messages などのパスを追加するため、WebサイトのURLや /v1/chat/completions は使いません。パスが違えば、有効なキーでも404になることがあります。
ANTHROPIC_AUTH_TOKEN はAuthorizationのBearerトークン、ANTHROPIC_API_KEY はx-api-keyヘッダーに対応します。ここではAPI RouteのCC Switch出力と同じBearer方式を使います。方式を一つに決め、現在のシェルに残った競合する認証情報を取り除いてください。
1. 新しいターミナルで環境変数を設定する
元の接続設定を記録し、既存の ~/.claude/settings.json があれば非公開のバックアップを作ります。キーが含まれる可能性があるため、公開リポジトリに置かないでください。シェル変数に加え、プロジェクト・ユーザー・管理設定の競合もローカルで確認します。
macOS / Linux:Bash・Zsh
unset ANTHROPIC_API_KEY CLAUDE_CODE_OAUTH_TOKEN
export ANTHROPIC_BASE_URL='https://global.api-route.com'
read -rsp 'API Route key: ' ANTHROPIC_AUTH_TOKEN; printf '\n'
export ANTHROPIC_AUTH_TOKEN
export ANTHROPIC_MODEL='claude-sonnet-4-6'
export ANTHROPIC_DEFAULT_SONNET_MODEL="$ANTHROPIC_MODEL"Windows:PowerShell 7
Remove-Item Env:ANTHROPIC_API_KEY, Env:CLAUDE_CODE_OAUTH_TOKEN -ErrorAction SilentlyContinue
$env:ANTHROPIC_BASE_URL = 'https://global.api-route.com'
$env:ANTHROPIC_AUTH_TOKEN = Read-Host 'API Route key' -MaskInput
$env:ANTHROPIC_MODEL = 'claude-sonnet-4-6'
$env:ANTHROPIC_DEFAULT_SONNET_MODEL = $env:ANTHROPIC_MODEL変数は現在のターミナルと、そこから起動したプロセスに適用されます。別の起動済みターミナルには反映されません。HaikuやOpusのエイリアスを使う処理がある場合は、呼び出す前に対応モデルへ固定してください。すべてを一つのモデルに割り当てると選択動作が変わるため、意図して設定します。
2. CLI起動前にMessages APIを確認する
設定したターミナルから、まず少量の課金対象リクエストを送ります。Bash例にはcurlとjqが必要です。PowerShellでは下のネイティブコマンドを使えます。content配列とusageが返れば基本接続を確認できますが、ツールとストリーミングは別に検証します。
curl --fail-with-body -sS "$ANTHROPIC_BASE_URL/v1/messages" \
-H "Authorization: Bearer $ANTHROPIC_AUTH_TOKEN" \
-H 'anthropic-version: 2023-06-01' \
-H 'content-type: application/json' \
-d "$(jq -nc --arg model "$ANTHROPIC_MODEL" \
'{model:$model,max_tokens:32,messages:[{role:"user",content:"Reply with OK."}]}')"$body = @{
model = $env:ANTHROPIC_MODEL
max_tokens = 32
messages = @(@{ role = 'user'; content = 'Reply with OK.' })
} | ConvertTo-Json -Depth 5
Invoke-RestMethod -Method Post -Uri "$env:ANTHROPIC_BASE_URL/v1/messages" -Headers @{
Authorization = "Bearer $env:ANTHROPIC_AUTH_TOKEN"
'anthropic-version' = '2023-06-01'
} -ContentType 'application/json' -Body $body続いて claude --model claude-sonnet-4-6 を実行します。/statusでモデルと認証情報の出所を確認し、短い返答を求めてください。時刻とモデルを利用ログで照合します。ゲートウェイやCLIが上流の識別情報を示さない場合、表示モデル名だけでは実際の上流ルートは証明できません。
3. CC Switchでプロファイルを保存する
CC Switchは独立したコミュニティー製のデスクトップツールです。プロジェクト自身の配布元から導入し、保存する情報を確認してください。任意のツールなので、接続テストだけなら前述のシェル設定で十分です。
- API RouteのAPI接続を開き、確認済みキー、利用可能なClaudeモデル、接続先を選びます。
- 対象アプリをClaude CodeにしてCC Switchへ取り込みます。Base URL、モデル、認証フィールドをローカルで確認してください。
- 取り込んだプロバイダーを有効にします。手動追加ではClaude Codeを選び、同じURL・キー・env設定を登録します。
- Claude Codeを再起動します。保存したプロファイルを試す前に古いシェル変数を消し、ファイル設定への上書きを防ぎます。
- 短いリクエストを送り、API Routeの利用ログで課金を確認します。同じ設定ファイルを複数の管理ツールで同時に変更しないでください。
手動で永続化する場合は、ユーザー専用の ~/.claude/settings.json(Windowsは %USERPROFILE%\.claude\settings.json)へ以下をマージします。他の設定を残し、キーを手元で差し替え、バージョン管理に含めないでください。
{
"env": {
"ANTHROPIC_BASE_URL": "https://global.api-route.com",
"ANTHROPIC_AUTH_TOKEN": "REPLACE_WITH_YOUR_KEY",
"ANTHROPIC_MODEL": "claude-sonnet-4-6",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "claude-sonnet-4-6"
}
}CLIとエディター拡張では読み込み方が異なる場合があります。VS Code拡張には公式の claudeCode.environmentVariables 設定があります。起動済みエディターが新しいターミナル変数を引き継ぐとは考えず、使用中の拡張で確認しましょう。
エラーと有効な設定から原因を絞る
| 症状 | 確認する項目 |
|---|---|
| 401/認証失敗 | キーの発行元、有効性、送信ヘッダーを確認します。古いAPIキーやOAuthの上書きを取り除き、キー自体は表示しません。 |
| 403/アクセス拒否 | キーの権限、モデルとグループ、アカウント制限、プロバイダーポリシーを確認します。再送だけでは権限は変わりません。 |
| 404/見つからない | /v1の重複やChat Completionsのパスを確認し、正確なモデルIDをプロバイダーと照合します。 |
| クレジット不足 | 残高とキー上限を確認します。ゲートウェイごとに状態コードが違うため、実際の応答を読み、ルートと料金を確かめてから少額をチャージします。 |
| 429/レート制限 | 並列数を下げ、Retry-Afterがあれば従います。残高だけでスループットは決まりません。 |
| ツール・思考・beta機能で400 | リクエストフィールドとbetaヘッダーへの対応を確認し、最小のリクエストへ機能を一つずつ足します。 |
| テキストは返るがストリーミングやツールが失敗 | SSEと副作用のない読み取り専用ツールを分けて試します。バッファリング、イベント形式、ツール結果、タイムアウトを確認します。 |
| ログイン要求や接続先が想定と違う | /statusと設定の優先順位を確認し、CLIや拡張を再起動します。保存済みログインと有効な認証情報は別に確認します。 |
問い合わせには時刻、HTTP状態、秘匿情報を除いたエラー、取得できるリクエストIDを添え、キーやソースコードは送らないでください。必要なヘッダーと機能転送は互換性ガイドで確認できます。第三者ルートでは新機能の対応が遅れる場合があります。
段階的に移行し、切り戻せる状態を残す
- 旧プロファイルと設定を非公開で保存し、モデル設定とシェル起動ファイルの変数も記録します。
- 短いテキスト、ストリーミング、読み取り専用ツール、代表的なリポジトリ作業で検証し、料金比較と実際の課金を確認します。
- キャッシュ検証で繰り返す入力を測ります。キャッシュや残高がプロバイダー間で移るとは想定しません。
- 一部の処理から移し、認証情報は分けて管理します。旧キーの利用がなくなってから失効させます。
- 戻す場合は新しいCC Switchプロファイルを無効にするか旧設定を復元し、シェルと起動ファイルの新変数を取り除いて再起動します。/statusと利用ログを再確認してください。
第三者の認証情報による利用は、そのプロバイダーのアカウントへ課金され、Claudeアプリの購読とは別です。コードを送る前にデータの扱いとルートの制約を確認しましょう。API互換性だけでは、ツール、上限、サポート、契約の同等性までは保証されません。
API Routeアカウントを作成し、対象モデルの料金を調べ、初回リクエストを確認してから継続利用の予算を用意してください。初期設定はクイックスタートで案内しています。