直接回答
クライアント設定からプロトコルのパススルーまで、Claude Code が LLM gateway に接続する際に本当に検証が必要なリンクを説明します。
このガイドで解決できること
ユーザーと gateway の運用者がモデルルーティングを正しく設定できるようサポートし、「リクエストできる」と「完全に互換性がある」の違いを識別できるようにします。
現在の CLI が認識できるモデルエントリを優先的に使用します
Claude Code は対話型 /model または起動パラメータでモデルを選択できます。公式エイリアスは製品の更新に伴って対応するモデルを指すようになり、固定モデル ID は結果を再現する必要がある制御された環境に適しています。
Gateway は独自のモデル ID やエイリアスを使用する可能性があります。ページに表示された名前だけで上流が対応していると想定せず、最終的には gateway のモデルリストと実際のリクエスト1回を基準にしてください。
claude --model sonnet/modelbase URL と正しい資格情報変数の設定
Anthropic Messages 形式の gateway は ANTHROPIC_BASE_URL を使用します。Bearer token は ANTHROPIC_AUTH_TOKEN に、x-api-key は ANTHROPIC_API_KEY に配置します。変数を間違えると、資格情報がサーバー側で読み取られないリクエストヘッダーに送信されてしまいます。
初回接続時は、現在の shell でのみ変数を一時的にエクスポートしてください。URL、認証、モデルを確認した後、ユーザーレベルの安全な設定に移行してください。
export ANTHROPIC_BASE_URL='https://gateway.example.com'
export ANTHROPIC_AUTH_TOKEN='<gateway-token>'
claudeまず最小の Messages リクエストで gateway を検証します
Claude Code を開く前に /v1/messages を直接呼び出すことで、gateway URL と認証の問題を CLI の設定から切り離せます。モデルの ID はサービス提供側が明示した値を使用し、他社のサンプルをそのまま流用しないでください。
401 は資格情報やリクエストヘッダーを指します。404 は base URL のパスエラーでよく見られます。未知のモデルは通常、ネットワークと認証が gateway に到達したことを示しているため、次はモデルルーティングを確認してください。
export CLAUDE_MODEL='<gateway-model-id>'
curl -X POST "$ANTHROPIC_BASE_URL/v1/messages" \
-H "Authorization: Bearer $ANTHROPIC_AUTH_TOKEN" \
-H 'anthropic-version: 2023-06-01' \
-H 'content-type: application/json' \
-d "{\"model\":\"$CLAUDE_MODEL\",\"max_tokens\":1,\"messages\":[{\"role\":\"user\",\"content\":\".\"}]}"完全な互換性は単一の /v1/messages では成立しません
Claude Code はサーバー側の Server-Sent Events を消費し、gateway はストリーミング応答を持続的に転送し、完全な応答が揃ってから一度に返してはなりません。anthropic-version、anthropic-beta および対応するリクエストボディのフィールドは、プロトコルに従って一緒にパススルーする必要があります。
Gateway は現在観察された固定フィールドのホワイトリストに従って転送すべきではありません。Claude Code の更新で新機能が追加されます。header の剥離、body の書き換え、上流エラーのラッピングは、リトライや機能低下を無効にする可能性があります。
- SSE のデータ到達後すぐに転送し、クライアントがフリーズしているように見えるのを防いでください。
- beta header および付随する body フィールドを保持してください。
- 上流のエラーステータスと応答ボディは、可能な限りそのまま返してください。
- オプションの token-counting エンドポイントが欠落している場合、クライアントはローカル推定に切り替えます。
gateway のモデル検出を必要に応じて有効化
Anthropic Messages 形式をサポートする gateway は /v1/models を実装でき、Claude Code はモデル検出を明示的に有効化した後にコンプライアンスモデルを /model セレクターに追加します。この機能はデフォルトで無効であり、現在の CLI と gateway の両方がサポートしている必要があります。
検出失敗は基本推論に影響を与えてはなりません。クライアントはキャッシュや内蔵リストを使用する可能性があります。外部向けチュートリアルは、エンドポイント、認証ヘッダー、3 の秒単位の応答制約、モデル ID のフィルタリングをまず実測してから、自動検出のサポートを謳う必要があります。
export CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1
claude --debug-file /tmp/claude-gateway-debug.logカスタム gateway のインターフェース境界を理解する
CLI と VS Code はそれぞれの設定に従って gateway 変数を読み取れます。Desktop は個別のサードパーティ推論設定を使用します。Claude Code ウェブ版と Slack は Anthropic のホストされたインターフェースであり、ローカルで ANTHROPIC_BASE_URL を設定しただけではカスタム gateway を経由しません。
claude.ai の本人性や直接接続サービスに依存する一部の機能は、gateway 認証情報が有効な間は利用できません。ドキュメントでは「CLI 推論が利用可能」と「Claude Code の全製品インターフェースが利用可能」を明確に分けるべきです。
公式情報と検証範囲
本ガイドは公開されている公式ドキュメントを根拠にしています。コマンドや設定はクライアントのバージョンにより変わるため、実行前に参照元も確認してください。
技術検証方法を見る