- 組織用のゲートウェイをデプロイするには、LLM ゲートウェイをロールアウトするを参照してください
- Claude Code がゲートウェイに送信する内容については、ゲートウェイプロトコルリファレンスを参照してください
既存の設定を確認する
管理者は、管理設定、デバイス管理、またはapiKeyHelper を通じてゲートウェイアドレスと認証情報を配布できるため、Claude Code は起動時にそれらを取得し、設定する必要がありません。組織がすでにこれを行ったかどうかを確認するには:
1
Claude Code を起動する
claude を実行します。ログイン画面ではなくセッションが開く場合、ゲートウェイ認証情報は配布されていません。以下の自分で設定を参照してください。2
Status タブを確認する
Claude Code がログイン画面を表示せずにセッションを開始した場合、
/status を実行し、Status タブを開いて、2 つの行を確認します:3
テストメッセージを送信する
/status メニューを閉じて、Claude Code で任意のプロンプトを送信します。Claude からの通常の応答でエラーがない場合、ゲートウェイ接続が機能していることを確認します。/status メニューの両方の行が正しく見えるが、Claude へのメッセージが失敗する場合は、トラブルシューティングテーブルを参照してください。
Claude Code を自分で設定する
Claude Code をゲートウェイ用に自分で設定するには、ゲートウェイチームから以下が必要です:- ゲートウェイの基本 URL
- 認証情報:キーまたはトークン文字列、またはそれを取得するコマンド
- ゲートウェイチームが認証情報の種類を指定しなかった場合、以下の認証情報変数セクションで試すべきことをカバーしています
- 認証情報変数を設定すると基本 URL を設定する:すべてのゲートウェイ接続に必要な 2 つの変数
- 接続を確認する:何かを永続化する前に機能することを確認します
- 各サーフェスを設定する:Claude Code CLI 以外のサーフェス(VS Code など)を使用している場合、ゲートウェイ認証情報で設定する方法を参照してください
- 追加設定:基本 URL と認証情報を超えて一部のゲートウェイが必要とする変数(カスタムヘッダー、認証情報ヘルパー、モデル検出、プロバイダー形式の基本 URL、またはゲートウェイパス外のトラフィックをオフにするなど)。管理者が名前を付けた場合のみこれらを設定するか、ネットワークが出力を制限します
認証情報変数を設定する
Claude Code をゲートウェイに認証するには、環境変数に認証情報を設定します。どの変数を使用するかは、ゲートウェイチームが何を言ったかによって異なります:
どの種類かを指定されなかった場合は、
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 ではなく、サードパーティ推論設定からゲートウェイルーティングを読み取ります。その設定は組織から、またはアプリ自体のフォームから来ることができます:
- 管理者によって配布される:組織が設定を配布している場合、デスクトップアプリはゲートウェイを通じてルーティングされ、設定は不要です
- ローカルで設定される:管理者配布設定がないデバイスの場合、Help → Troubleshooting → 開発者モードを有効化を開きます。これはアプリを再起動して開発者メニューを表示します。その後、Developer → Configure Third-Party Inference を開き、ゲートウェイベース URL を入力します。管理者配布設定が優先され、このフォームを読み取り専用にします
ANTHROPIC_BASE_URL とゲートウェイ認証情報を設定します。
デスクトップアプリが 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 がアクティブな間は利用できません。v2.1.196 以降では、ANTHROPIC_BASE_URL が Anthropic 以外のホストを指している場合、Remote Control も無効になるため、claude.ai でサインインするだけでは十分ではありません。
どちらかの機能を復元するには、claude.ai でログインし、チェックするゲートウェイ変数を設定解除してください。claude doctor の Remote Control セクションは設定解除する認証情報変数の名前を表示します。
- 音声ディクテーション:ゲートウェイ認証情報を設定解除する
- Remote Control:ゲートウェイ認証情報と
ANTHROPIC_BASE_URLを設定解除する
追加設定
これらの設定は基本 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 および GitHub などのサードパーティサービスに送信します。バージョンチェック、テレメトリ、エラーレポート、リリースノート、および同様のリクエストです。ゲートウェイへの出力のみを許可するネットワークでは、これらのリクエストは失敗し、出力監視でブロックされた接続として表示される可能性があります。 そのトラフィックをオフにするには、ゲートウェイ変数と同じシェルエクスポートまたは設定ファイルのenv ブロックで CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1 を設定します:
- Bash または Zsh
- PowerShell
- 自動更新を無効にするため、パッケージマネージャーまたは管理配布などの別の更新パスを計画します。
- 高速モードの可用性チェックを抑制します。前のチェックがすでにマシンで高速モードを有効にしていない限り、
/fastは高速モードが利用できないことを報告します。 - ゲートウェイモデル検出をオフにします。ただし、検出はゲートウェイ自体をクエリします。以前に検出されたモデルはローカルキャッシュから利用可能なままですが、リストは更新されません。
- WebFetch ツールのドメイン安全チェックは影響を受けず、引き続き
api.anthropic.comを呼び出します。ネットワークがそのホストをブロックする場合、設定でskipWebFetchPreflight: trueを使用して個別にオフにします。 - 各テレメトリストリームおよびそれを制御する変数については、テレメトリサービスを参照してください。
クラウドプロバイダーをゲートウェイ経由でルーティングする
これらの設定は Claude Code をANTHROPIC_BASE_URL の代わりにプロバイダー固有の基本 URL 変数を通じてゲートウェイに指定します。Amazon Bedrock と Google Cloud の Agent Platform ゲートウェイはそれらのプロバイダーのネイティブリクエスト形式を受け入れます。Microsoft Foundry と AWS 上の Claude Platform ゲートウェイは Anthropic Messages 形式を受け入れ、どの基本 URL 変数がそれらに到達するかでのみ異なります。
ゲートウェイチームが Amazon Bedrock、Google Cloud の Agent Platform、Microsoft Foundry、または AWS 上の Claude Platform という名前を付けた場合のみ 1 つを使用します。上記の検証リクエストが JSON を返した場合、このセクションをスキップできます。
ゲートウェイチームが名前を付けたプロバイダーのブロックを設定します。skip-auth 変数は Claude Code にプロバイダー認証情報でリクエストに署名しないよう指示します。ゲートウェイがそれらを保持しているため。ゲートウェイが独自のトークンが必要な場合、Foundry を除いて、ブロックの後に ANTHROPIC_AUTH_TOKEN を追加します。Microsoft Foundry は示されているように ANTHROPIC_FOUNDRY_API_KEY を使用します。Bearer トークンを期待する Microsoft Foundry ゲートウェイは、代わりに ANTHROPIC_FOUNDRY_AUTH_TOKEN を使用できます。これは両方が設定されている場合、ANTHROPIC_FOUNDRY_API_KEY より優先されます。ANTHROPIC_FOUNDRY_AUTH_TOKEN には Claude Code v2.1.203 以降が必要です。
Amazon Bedrock
- Bash または Zsh
- PowerShell
Google Cloud の Agent Platform
- Bash または Zsh
- PowerShell
Microsoft Foundry
ゲートウェイの認証情報をANTHROPIC_FOUNDRY_API_KEY に入れます。x-api-key ヘッダーとしてゲートウェイに送信されます。Bearer トークンを期待するゲートウェイは、代わりに ANTHROPIC_FOUNDRY_AUTH_TOKEN を使用できます。Claude Code はその値を Authorization: Bearer ヘッダーとして送信し、両方が設定されている場合、ANTHROPIC_FOUNDRY_API_KEY より優先されます。Claude Code v2.1.203 以降が必要です。
独自の Authorization ヘッダーを挿入するゲートウェイの場合、CLAUDE_CODE_SKIP_FOUNDRY_AUTH=1 を設定し、両方の認証情報変数を設定しないままにします。Claude Code はその後、Azure 認証情報なしでリクエストを送信し、たとえば ANTHROPIC_CUSTOM_HEADERS を通じて提供する Authorization ヘッダーを保持します。v2.1.203 より前では、API キーなしの CLAUDE_CODE_SKIP_FOUNDRY_AUTH は Microsoft Foundry クライアントがリクエストを送信できないままにしました。
- Bash または Zsh
- PowerShell
AWS 上の Claude Platform
ワークスペース ID については、AWS 上の Claude Platform を参照してください。- Bash または Zsh
- PowerShell
ゲートウェイエラーのトラブルシューティング
これらはゲートウェイを通じて Claude Code を実行する場合の最も一般的なエラーで、ゲートウェイ側の原因と修正方法です:
ゲートウェイ設定を削除した後、Claude Code が繰り返しログインするよう求める場合、原因は通常、ゲートウェイではなく認証情報ストレージです。認証エラーを参照してください。
関連リソース
- LLM ゲートウェイの概要:ゲートウェイとは何か、および claude.ai サブスクリプションとどのように相互作用するか
- 組織用の LLM ゲートウェイをロールアウトする:ゲートウェイをデプロイして配布するための管理者向けチェックリスト
- ゲートウェイプロトコルリファレンス:Claude Code がゲートウェイに送信するもの。ゲートウェイが転送する必要があるヘッダーとフィールドを含む
- 設定:設定ファイルが存在する場所と
envブロックがどのように読み取られるか - 認証:認証情報変数、
apiKeyHelper、OAuth ログインがどのように相互作用するか