- 組織用のゲートウェイをデプロイするには、LLM ゲートウェイをロールアウトするを参照してください
- Claude Code がゲートウェイに送信する内容については、ゲートウェイプロトコルリファレンスを参照してください
既存の設定を確認する
管理者は、管理設定、デバイス管理、またはapiKeyHelper を通じてゲートウェイアドレスと認証情報を配布できるため、Claude Code は起動時にそれらを取得し、設定する必要がありません。組織がすでにこれを行ったかどうかを確認するには:
Claude Code を起動する
claude を実行します。ログイン画面ではなくセッションが開く場合、ゲートウェイ認証情報は配布されていません。以下の自分で設定を参照してください。Status タブを確認する
Claude Code がログイン画面を表示せずにセッションを開始した場合、
/status を実行し、Status タブを開いて、2 つの行を確認します:/status メニューの両方の行が正しく見えるが、Claude へのメッセージが失敗する場合は、トラブルシューティングテーブルを参照してください。
Claude Code を自分で設定する
Claude Code をゲートウェイ用に自分で設定するには、ゲートウェイチームから以下が必要です:- ゲートウェイの基本 URL
- 認証情報:キーまたはトークン文字列、またはそれを取得するコマンド
- ゲートウェイチームが認証情報の種類を指定しなかった場合、以下の認証情報変数セクションで試すべきことをカバーしています
- 認証情報変数を設定すると基本 URL を設定する:すべてのゲートウェイ接続に必要な 2 つの変数
- 接続を確認する:何かを永続化する前に機能することを確認します
- 各サーフェスを設定する:Claude Code CLI 以外のサーフェス(VS Code など)を使用している場合、ゲートウェイ認証情報で設定する方法を参照してください
- 追加設定:基本 URL と認証情報を超えて一部のゲートウェイが必要とする変数(カスタムヘッダー、認証情報ヘルパー、モデル検出、またはプロバイダー形式の基本 URL など)。管理者が名前を付けた場合のみこれらを設定します
認証情報変数を設定する
Claude Code をゲートウェイに認証するには、環境変数に認証情報を設定します。どの変数を使用するかは、ゲートウェイチームが何を言ったかによって異なります:| 認証情報を設定する場所 | 使用する場合 |
|---|---|
ANTHROPIC_AUTH_TOKEN | ゲートウェイチームが’bearer token’または’Authorization header’と言った場合 |
ANTHROPIC_API_KEY | ゲートウェイチームが’API key’または’x-api-key’と言った場合 |
apiKeyHelper | 認証情報がローテーションするか、ボルトから来る場合 |
ANTHROPIC_AUTH_TOKEN を使用します。以下の検証リクエストは、切り替える必要があるかどうかを判断する方法を示しています。
基本 URL と認証情報を設定する
ゲートウェイの基本 URL と、上記で選択した認証情報変数を環境変数として設定します。例はANTHROPIC_AUTH_TOKEN を使用しています。選択した変数が ANTHROPIC_API_KEY の場合は、それに置き換えてください。シェルで設定できます(1 つのターミナルセッション用)、または Claude Code 設定ファイルで設定できます(Claude Code が実行されるすべての場所で永続化)。
最初の接続の場合、シェルエクスポートから始めて、値を設定ファイルに移動する前に検証リクエストを実行してください。
シェル環境変数として設定する
ゲートウェイチームが提供した値に置き換えます:- Bash または Zsh
- PowerShell
~/.zshrc、~/.bashrc、PowerShell $PROFILE など)に追加するか、代わりに設定ファイルを使用してください。
設定ファイルで設定する
Claude Code が実行されるすべての場所で設定を適用し、シェルに依存しないようにするには、設定ファイルのenv ブロックで変数を設定します。設定ファイルはスコープが異なります:
~/.claude/settings.jsonはすべてのプロジェクトに適用されます。Windows ではパスは%USERPROFILE%\.claude\settings.jsonです.claude/settings.local.jsonは 1 つのプロジェクトに適用されます。Claude Code はファイルを作成するときに gitignore に追加します。自分で作成する場合は、認証情報を誤ってコミットしないように、最初に gitignore に手動で追加してください
env ブロックはどちらのファイルでも同じように見えます:
env ブロックの両方が同じ変数を設定する場合、設定ファイルの値が適用されます。/status を実行して、Claude Code が使用している基本 URL と認証情報ソースを確認してください。
接続を確認する
シェルで変数をエクスポートした状態で、ゲートウェイに 1 トークンのリクエストを直接送信します。これは Claude Code を開く前に URL と認証情報が機能することを確認するため、失敗はゲートウェイを指し、設定ではなく。以下のコマンドはシェル変数を読み取るため、設定ファイルに値を入れた場合でもシェルエクスポートが必要です。- Bash または Zsh
- PowerShell
x-api-key ヘッダーのキーを期待する場合、Bash コマンドの Authorization ヘッダーを x-api-key: $ANTHROPIC_API_KEY に置き換えるか、PowerShell コマンドの "Authorization" ハッシュテーブルエントリを "x-api-key" = "$env:ANTHROPIC_API_KEY" に置き換えてください。
{"id":"msg_ で始まり、"content":[...] フィールドを含む JSON レスポンスは、ゲートウェイに到達可能で、認証情報が機能していることを意味します。不明なモデルという名前のエラーでも、ゲートウェイがリクエストを認証してからモデル名を拒否したため、URL と認証情報が機能していることを証明します。このテストのためにゲートウェイが提供するモデルを見つける必要はありません。401 は認証情報が拒否されたことを意味します。変数を推測した場合は、もう一方に切り替えて再度エクスポートしてください。
Claude Code で確認する
同じシェルからclaude を起動して、エクスポートを継承し、メッセージを送信して、/status を実行します。
Status タブで、Anthropic base URL 行はゲートウェイアドレスを表示する必要があり、リクエストがそこにルーティングされていることを確認します。行がない場合、変数がセッションに到達しませんでした。Auth token または API key 行が設定した変数という名前は、保存された claude.ai ログインではなく、ゲートウェイ認証情報がアクティブであることを確認します。
メッセージが失敗するか、/status がゲートウェイ URL を表示しない場合は、以下のトラブルシューティングテーブルを参照してください。
認証情報変数がヘッダーにマップされる方法
各変数は認証情報を異なる HTTP ヘッダーで送信します:ANTHROPIC_AUTH_TOKEN は Authorization: Bearer で、ANTHROPIC_API_KEY は x-api-key で、apiKeyHelper は両方で。間違った変数の認証情報はゲートウェイが読まないヘッダーに到達し、リクエストは 401 で失敗します。検証リクエストが 401 を返した場合、もう一方の変数に切り替えて再度試してください。
既存のログインとの競合
ゲートウェイ認証情報変数は、保存された claude.ai ログインまたは Console キーより優先されます。claude.ai ログインは保存されたままで、変数が設定されている間は使用されません。変数を設定解除すると、Claude Code はそれに戻ります。ANTHROPIC_AUTH_TOKEN では、変数は直ちに優先されます。ANTHROPIC_API_KEY では、キーが引き継ぐ前に、インタラクティブモードで 1 回承認するよう求められます。
/status を実行して、どの認証情報ソースがアクティブかを確認します。起動が 2 つのソースという名前の認証競合警告を表示する場合は、トラブルシューティングテーブルの最初の行を参照して、どちらを削除するかを確認してください。保存されたログインをクリアしてゲートウェイ認証情報のみを残すには、/logout を実行してください。
各サーフェスを設定する
CLI は上記の環境変数と設定ファイルを読み取ります。他のサーフェスは VS Code 拡張機能、デスクトップアプリ、GitHub Actions、Agent SDK、Slack やウェブなどのクラウドサーフェスです。以下のセクションは、これらの設定が各サーフェスに到達するかどうかをカバーしています。VS Code 拡張機能
VS Code 拡張機能のゲートウェイ変数を VS Code 独自のユーザー設定でclaudeCode.environmentVariables に設定します。Preferences: Open User Settings (JSON) コマンドで開きます。拡張機能は起動前にこの設定から認証情報をチェックするため、ゲートウェイ認証情報の信頼できる場所です。~/.claude/settings.json の値は生成されたプロセスに到達しますが、拡張機能独自のログインチェックには到達しません。
デスクトップアプリ
デスクトップアプリは、ANTHROPIC_BASE_URL または settings.json ではなく、管理者配布設定からゲートウェイルーティングを読み取ります。組織がそれを配布している場合、デスクトップアプリはゲートウェイを通じてルーティングされ、設定は不要です。そうでない場合は、ゲートウェイセッションのためにターミナル CLI または VS Code 拡張機能を使用してください。管理者は組織ロールアウトで説明されているように設定を配布します。
デスクトップアプリが Gateway was unreachable を表示する場合、アプリは起動時に設定された基本 URL に到達できませんでした。URL とネットワークパスを上記の curl テストで確認してください。
GitHub Actions
Claude Code GitHub Actions はワークフローのenv ブロックから ANTHROPIC_BASE_URL と ANTHROPIC_CUSTOM_HEADERS を読み取ります。認証情報をアクションの anthropic_api_key 入力として渡します。アクションはそれを ANTHROPIC_API_KEY として設定するため、x-api-key ヘッダーでゲートウェイに到達します。
x-api-key ゲートウェイの場合、env で基本 URL を設定し、ゲートウェイキーを入力として渡します:
anthropic_api_key 入力とワークフロー env ブロックの ANTHROPIC_AUTH_TOKEN の両方として渡します。アクションは Claude Code を起動する前に anthropic_api_key、CLAUDE_CODE_OAUTH_TOKEN、またはワークロード ID フェデレーションが必要で、ANTHROPIC_AUTH_TOKEN を読み取らないため、入力はその起動チェックを満たし、env 変数はゲートウェイが読む Authorization ヘッダーにキーを入れます。x-api-key のコピーは無視されます:
CLAUDE_CODE_OAUTH_TOKEN やワークロード ID フェデレーションを含む)については、Claude Code GitHub Actions とアクションの README を参照してください。
Agent SDK
Agent SDK にはゲートウェイ固有のオプションはありません。生成する Claude Code プロセスに環境変数を渡します。各 SDK は生成されたプロセスの環境を設定するenv オプションを受け入れ、TypeScript と Python SDK はそれを異なる方法で処理します:
- TypeScript:生成されたプロセスはデフォルトで親環境を継承しますが、
options.envを設定すると環境全体が置き換わります。ゲートウェイ変数を保つためにprocess.envをそこに広げます。 - Python:
ClaudeAgentOptions(env=...)は継承された環境の上にマージされるため、親プロセスで設定されたゲートウェイ変数は広げずに通ります。
Slack、ウェブ、Remote Control
Slack の Claude Code と ウェブの Claude Code は、Anthropic がホストする製品で、常に Anthropic の API を使用します。ゲートウェイデプロイメントの一部ではありません。クラウドセッションの環境設定で設定されたゲートウェイ変数は適用されません。トラフィックがゲートウェイに留まる必要がある場合、これらのユーザーに対してこれらのサーフェスを有効にしないでください。 Remote Control と音声ディクテーションは両方とも claude.ai ID に依存します。Remote Control はライブセッションをアカウントとペアリングし、音声ディクテーションは claude.ai トランスクリプションエンドポイントに到達します。ANTHROPIC_API_KEY、ANTHROPIC_AUTH_TOKEN、または apiKeyHelper がアクティブな間は利用できません。どちらかを使用するには、ゲートウェイ認証情報を設定解除し、代わりに claude.ai でログインしてください。/doctor は設定解除する変数という名前を付けます。
追加設定
これらの設定は基本 URL と認証情報を超えるケースをカバーしています。管理者の指示またはトラブルシューティングテーブルが 1 つを呼び出す場合のみこれらを設定します。追加ヘッダーを送信する
一部のゲートウェイは、テナント識別子またはルーティングキーなど、認証情報に加えてカスタムヘッダーを使用してリクエストをルーティングまたはタグ付けします。1 つを送信するには、ANTHROPIC_CUSTOM_HEADERS を 1 行あたり 1 つの Name: Value ペアで設定します。以下の例は X-Org-Route という名前のルーティングヘッダーを追加します:
- Bash または Zsh
- PowerShell
env ブロックで ANTHROPIC_CUSTOM_HEADERS を設定することもできます。JSON 文字列は複数行にまたがることができないため、ペア間で \n を使用します:
ゲートウェイモデルをモデルピッカーに追加する
モデル検出は起動時にゲートウェイにモデルリストをクエリし、それらの名前を組み込みエントリと一緒に/model ピッカーに追加します。
ゲートウェイが Claude Code の組み込みリストにないモデル名を提供し、ピッカーから選択したい場合は、それを有効にします。組み込みモデルが使用するものである場合、検出は不要です。管理者は管理設定を通じてすでに有効にしている可能性があります。
有効にするには、シェルまたは ~/.claude/settings.json の env ブロックで CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1 を設定します。検出には Claude Code v2.1.129 以降が必要です。
検出されたモデルは From gateway というラベルの追加 /model エントリとして表示されます。検出が実行されたことを確認するには、claude --debug を起動して [gatewayDiscovery] 行を探します。成功はキャッシュされたモデル数をログに記録し、404、タイムアウト、またはリダイレクトもそこに記録されます。検出が実行される場合、フィルタリング内容、ゲートウェイが提供するレスポンス形式については、モデル検出リファレンスを参照してください。
apiKeyHelper で認証情報をローテーションする
apiKeyHelper は、静的環境変数から読み取る代わりに、ゲートウェイ認証情報を取得するために Claude Code が実行するコマンドです。
認証情報がスケジュールで期限切れになる場合、ボルトまたは SSO コマンドから来る場合、または管理者が 1 つを設定するよう指示した場合、ヘルパーを使用します。認証情報が 1 回設定する固定文字列である場合、認証情報変数がすべて必要で、このセクションをスキップできます。
ヘルパーは現在の認証情報を stdout に出力するシェルコマンドです。Claude Code はシステムシェルを通じて実行するため、Windows ではそれは実行可能ファイルまたは PowerShell 呼び出しです。スクリプトを書き、実行可能にして、設定ファイルの apiKeyHelper から参照します:
- Bash または Zsh
- PowerShell
たとえば、ボルトから読み取るスクリプト:
~/.claude/settings.json でそのパスを参照します:CLAUDE_CODE_API_KEY_HELPER_TTL_MS をミリ秒で設定します。たとえば、15 分の場合は CLAUDE_CODE_API_KEY_HELPER_TTL_MS=900000 です。
ヘルパーの値は Authorization と x-api-key ヘッダーの両方で送信されるため、ゲートウェイがどちらのヘッダーを読むかに関わらず機能します。
クラウドプロバイダーをゲートウェイ経由でルーティングする
これらの設定は Claude Code をANTHROPIC_BASE_URL の代わりにプロバイダー固有の基本 URL 変数を通じてゲートウェイに指定します。Bedrock と Vertex ゲートウェイはそれらのプロバイダーのネイティブリクエスト形式を受け入れます。Foundry と AWS 上の Claude Platform ゲートウェイは Anthropic Messages 形式を受け入れ、どの基本 URL 変数がそれらに到達するかでのみ異なります。
ゲートウェイチームが Bedrock、Vertex、Foundry、または AWS 上の Claude Platform という名前を付けた場合のみ 1 つを使用します。上記の検証リクエストが JSON を返した場合、このセクションをスキップできます。
ゲートウェイチームが名前を付けたプロバイダーのブロックを設定します。skip-auth 変数は Claude Code にプロバイダー認証情報でリクエストに署名しないよう指示します。ゲートウェイがそれらを保持しているため。ゲートウェイが独自のトークンが必要な場合、Foundry を除いて、ブロックの後に ANTHROPIC_AUTH_TOKEN を追加します。Foundry は示されているように ANTHROPIC_FOUNDRY_API_KEY を使用します。
Amazon Bedrock
- Bash または Zsh
- PowerShell
Google Vertex AI
- Bash または Zsh
- PowerShell
Microsoft Foundry
ゲートウェイの認証情報をANTHROPIC_FOUNDRY_API_KEY に入れます。x-api-key ヘッダーとしてゲートウェイに送信されます。CLAUDE_CODE_SKIP_FOUNDRY_AUTH はここでは適用されません。API キーがないと、Foundry クライアントはマシンを離れる前にすべてのリクエストに失敗します。
- Bash または Zsh
- PowerShell
AWS 上の Claude Platform
ワークスペース ID については、AWS 上の Claude Platform を参照してください。- Bash または Zsh
- PowerShell
ゲートウェイエラーのトラブルシューティング
これらはゲートウェイを通じて Claude Code を実行する場合の最も一般的なエラーで、ゲートウェイ側の原因と修正方法です:| エラー | 原因 | 修正 |
|---|---|---|
2 つの認証情報ソースという名前の起動警告で、auth may not work as expected で終わります。古いバージョンは代わりに Auth conflict: Both a token (SOURCE) and an API key (SOURCE) are set を表示します。 | ゲートウェイ認証情報と保存されたログインの両方がアクティブです。変数はリクエストに使用されますが、古いログインは予期しない認証動作を引き起こす可能性があります | 変数を設定解除して保存されたログインを使用するか、/logout を実行してゲートウェイ認証情報を使用します |
無効または認識されないトークンという名前の 401 エラー | 認証情報はゲートウェイが発行したものではないか、ゲートウェイが読むヘッダーにあります | 認証情報テーブルで変数が認証情報の種類と一致することを確認し、ゲートウェイで失効した場合はキーを再生成します |
Unable to connect to API (ConnectionRefused)、または npm インストールからの (ECONNREFUSED)。多くの場合、Claude Code がバックオフで再試行している間の静かな一時停止の後 | 基本 URL で何も応答しません。アドレスが間違っているか、VPN またはファイアウォールがゲートウェイへのパスをブロックしています | 上記の curl テストを実行します。これは同じ原因で直ちに失敗し、URL とネットワークパスをゲートウェイチームで確認します |
API returned an empty or malformed response (HTTP 200) | ゲートウェイまたは中間プロキシが非 API レスポンス(多くの場合 HTML エラーまたはログインページ)を返しました | 上記の curl リクエストでテストします。非 JSON を返すゲートウェイルートを修正します |
context_management、Extra inputs are not permitted、または他の認識されないフィールドという名前の 400 エラー | ゲートウェイは Anthropic 形式エンドポイントに Claude Code が送信するフィールドを拒否する上流にリクエストを転送します | CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1 を設定します。これはほとんどのプレリリースフィールドを抑制します。機能パススルーを参照してください。一部のベータはこのフラグでゲートされていません。それらについては、一致する CLAUDE_CODE_USE_* プロバイダー変数を設定して、Claude Code がそのプロバイダーが受け入れるもののみを送信するようにします |
thinking または adaptive という名前の 400 エラー(Input tag 'adaptive' found など) | 上流モデルビルドは Claude Code が Claude 4.6 以降のモデルに要求する適応推論を受け入れません | ゲートウェイの上流をアップグレードします。Opus 4.6 と Sonnet 4.6 では、代わりに CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1 が機能します。モデル設定機能変数は、CLAUDE_CODE_USE_BEDROCK や CLAUDE_CODE_USE_VERTEX などのプロバイダー設定にのみ適用され、ANTHROPIC_BASE_URL ゲートウェイの背後には適用されません |
ゲートウェイ独自の言葉でコンテキストまたはトークン制限を述べる 400 エラー(ContextWindowExceededError または prompt token count of N exceeds the limit of M など) | ゲートウェイはモデルのネイティブウィンドウより小さいコンテキストを強制し、上流エラーを書き直すため、Anthropic の prompt is too long 表現と一致する自動コンパクト再試行は発火しません | /compact を実行してセッションを復旧します。防ぐには、CLAUDE_CODE_AUTO_COMPACT_WINDOW をゲートウェイの制限に設定します。値は少なくとも 100,000 トークン、最大でもモデルのコンテキストウィンドウにクランプされるため、100,000 未満のゲートウェイ制限は一致できず、/compact はそこでの復旧のままです。また、CLAUDE_CODE_MAX_OUTPUT_TOKENS をゲートウェイモデルの出力制限より下に設定します |
/model ピッカーから欠落しているモデル | ゲートウェイモデル名は Claude Code の組み込みリストにありません | ゲートウェイモデル検出を有効にするか、モデル設定変数で名前を追加します |
| Claude Code は curl テストが成功しても、ログインするよう求めます | CLI には独自の認証情報がありません。到達可能な基本 URL は 1 つではなく、プロジェクトの .claude/settings.json または .claude/settings.local.json の env ブロックは最初の実行ウィザードと信頼プロンプトの後にのみ適用されます | ANTHROPIC_AUTH_TOKEN をどこかに設定します。Claude Code は最初の実行セットアップの前に読み取ります。シェルエクスポート、~/.claude/settings.json の env ブロック、または管理設定 |
ANTHROPIC_API_KEY が設定されていますが、プロンプトなしで無視されます | キーはインタラクティブセッションで 1 回の承認が必要で、以前に拒否されたキーは再度尋ねられずに無視されます | /config で Use custom API key オプションで有効にします |
This machine's managed settings require a first-party login | 管理設定に forceLoginMethod または forceLoginOrgUUID が含まれています。Claude Code v2.1.146 以降では、ANTHROPIC_API_KEY、ANTHROPIC_AUTH_TOKEN、または apiKeyHelper と共存できません | 管理者は管理設定から forceLoginMethod と forceLoginOrgUUID を削除してゲートウェイ認証情報を使用するか、ゲートウェイ認証情報を削除してファーストパーティログインを使用する必要があります。2 つは組み合わせることはできません |
403 と HTML 本体(403 Forbidden など)。ゲートウェイ独自のログに受信したリクエストがない場合 | ゲートウェイの前の Web アプリケーションファイアウォールまたはリバースプロキシがゲートウェイに到達する前にリクエスト本体をブロックしました。Claude Code プロンプトには XML スタイルタグとソースコードが含まれており、クロスサイトスクリプティング本体ルールと一致するため、短い curl テストは成功しますが、実際のセッションは成功しません | ゲートウェイの /v1/messages パスをリクエスト本体検査から除外します。AWS WAF ではこれは CrossSiteScripting_Body マネージドルールです。nginx と ModSecurity では、同等の OWASP CRS 本体ルールです |
証明書または TLS エラー(SSL certificate verification failed または Self-signed certificate detected など)。curl テストが成功する場合 | Claude Code のランタイムは curl が使用するのと同じ認証局を信頼していません。一般的に企業 TLS 検査プロキシの背後 | NODE_EXTRA_CA_CERTS を CA バンドルパスに設定します。CA 証明書ストアを参照してください |
関連リソース
- LLM ゲートウェイの概要:ゲートウェイとは何か、および claude.ai サブスクリプションとどのように相互作用するか
- 組織用の LLM ゲートウェイをロールアウトする:ゲートウェイをデプロイして配布するための管理者向けチェックリスト
- ゲートウェイプロトコルリファレンス:Claude Code がゲートウェイに送信するもの。ゲートウェイが転送する必要があるヘッダーとフィールドを含む
- 設定:設定ファイルが存在する場所と
envブロックがどのように読み取られるか - 認証:認証情報変数、
apiKeyHelper、OAuth ログインがどのように相互作用するか