- 自分のマシン上の Claude Code を既存のゲートウェイに接続するには、Claude Code を LLM ゲートウェイに接続するを参照してください
- Claude Code がゲートウェイに送信する内容と転送する内容については、ゲートウェイプロトコルリファレンスを参照してください
前提条件
ロールアウトを完了するには、以下が必要です。- インフラストラクチャにデプロイされたゲートウェイ。HTTPS で開発者に配布する正確なアドレスで提供され、リダイレクト先のアドレスではなく、Claude モデル名をプロバイダーにルーティングするように設定されている
- ゲートウェイが転送するプロバイダー認証情報。以下のいずれか。
- Anthropic API の場合:Claude Consoleから取得した API キー
- クラウドプロバイダーの場合:モデルアクセス権を持つクラウド認証情報。Amazon Bedrock、Google Vertex AI、または Microsoft Foundryページの前提条件を参照してください
- 開発者マシンに設定ファイルを配信する方法。MDM または設定管理など
- まだない場合は、設定がデバイスに到達する方法でオプションを比較してください
ゲートウェイ要件
ゲートウェイを提供する製品がどれであれ、以下を満たす必要があります。- サポートされている API 形式を受け入れる:API 形式テーブルの形式のいずれか。以下のロールアウト手順は、ほとんどのゲートウェイが提供する
POST /v1/messagesの Anthropic Messages API を想定しています - レスポンスをストリーミングする:サーバー送信イベントをバッファリングせずに到着時に通す
- Claude モデル名をルーティングする:開発者が使用する各名前をアップストリームモデルにマップする。Claude Code は各リクエストで
claude-sonnet-4-6などのモデル名を送信します。ほとんどのゲートウェイ製品では、マッピングはゲートウェイ自体の設定内のモデルリストまたはルーティングテーブルです - ヘッダーと本文を変更せずに転送する:
anthropic-beta、anthropic-version、およびリクエスト本文を両方向で通す。機能パススルーテーブルは各機能をそれなしで破損するものにマップします - アップストリームエラーを変更せずに返す:Claude Code の自動復旧はエラーの文言に一致するため、ゲートウェイ独自のエンベロープでエラーをラップすると破損します
- リクエスト本文 WAF 検査からパスを除外する:Claude Code プロンプトはソースコードと XML スタイルのタグを含み、クロスサイトスクリプティング本文ルールに一致します。ゲートウェイの前の WAF は実際のセッションで
403を返しますが、短いテストリクエストは通ります
GET /v1/models を提供して、Claude Code が モデル検出でゲートウェイからモデルピッカーを入力できるようにします。
ロールアウト手順
ロールアウトは 5 つのステップで構成され、各ステップにはチェックポイントがあります。- ゲートウェイがモデルをルーティングすることを確認する
- 各開発者に認証情報を発行する
- ゲートウェイに対して Claude Code をテストする
- ベース URL と認証情報を配布する
- 開発者マシンから検証する
| 認証情報 | 保有者 | チェックポイント内のプレースホルダー |
|---|---|---|
| プロバイダー認証情報 | ゲートウェイ。アップストリームプロバイダーに転送します | ゲートウェイで設定。クライアントコマンドには表示されません |
| ゲートウェイ管理認証情報 | お客様。ゲートウェイ製品が管理またはテストインターフェース用に発行する場合 | <gateway-key> |
| 開発者キー | 各開発者。開発者認証情報を発行するでゲートウェイが発行 | <developer-key> |
ゲートウェイがモデルをルーティングすることを確認する
ゲートウェイはすでにプロバイダー認証情報で設定され、ベース URL でリッスンし、プロバイダーの API にリクエストを転送している必要があります。デプロイから 2 つの値を置き換えて、最小限のリクエストでパスが端から端まで機能することをテストします。<gateway-key>は、現在ゲートウェイを呼び出すことができる認証情報です。管理キー、テストキー、またはすでに発行した独自の開発者キー。すべてのゲートウェイ製品に個別の管理認証情報があるわけではありません。ない場合は、まず 開発者認証情報を発行するで自分用の開発者キーを発行してくださいmodelはゲートウェイがルーティングするように設定されている Claude モデル名です。例ではclaude-sonnet-4-6を使用しています。設定した名前に置き換えてください
- Bash or Zsh
- PowerShell
content フィールドを持つ 200 は、ゲートウェイがそのモデル名でプロバイダーに到達したことを意味します。404 はその名前がゲートウェイでルーティングされていないことを意味します。プロバイダーからの 401 はゲートウェイのプロバイダー認証情報が間違っていることを意味します。
ゲートウェイのルーティング設定内の Claude モデル名ごとに 1 回リクエストを繰り返します。ゲートウェイがルーティングしない名前は、それを選択した開発者に 404 を返すため、ロールアウト前にすべての名前をテストしてください。
ゲートウェイをリダイレクトの背後で提供することは避けてください。リダイレクトはリクエスト本文をドロップするか、推論リクエストで認証情報ヘッダーをストリップでき、モデル検出はリダイレクトを失敗として扱うため、認証情報がリダイレクト先にリークする可能性があります。
開発者認証情報を発行する
各開発者はゲートウェイで認証するために独自のゲートウェイキーが必要です。製品の認証情報管理ドキュメントに従って、ゲートウェイで開発者ごとに認証情報を作成します。 新しく発行されたキーが ゲートウェイがモデルをルーティングすることを確認すると同じリクエストでゲートウェイに対して機能することを確認し、<gateway-key> を新しい <developer-key> に置き換えます。
- Bash or Zsh
- PowerShell
content フィールドを持つ 200 は、開発者キーがゲートウェイに到達し、ゲートウェイが転送することを意味します。前のステップが成功したときにここで 401 が表示される場合は、開発者キーが間違っているか、ゲートウェイでまだ有効になっていないことを意味します。
開発者ごとに 1 つのキーを発行することは、共有キーではなく、開発者ごとの使用状況の属性化と個別のオフボーディングを機能させるものです。キーを保持する環境変数は、ゲートウェイがどのヘッダーを読むかによって異なります。Authorization: Bearer ヘッダーで認証情報をチェックするゲートウェイの場合、開発者は ANTHROPIC_AUTH_TOKEN でキーを設定します。x-api-key ヘッダーからキーを読むゲートウェイの場合、開発者は代わりに ANTHROPIC_API_KEY を設定します。認証情報テーブルはマッピングをカバーしています。
ゲートウェイに対して Claude Code をテストする
ロールアウトが配布する前に、同じ設定を使用してゲートウェイを通じて Claude Code を自分で実行します。これらを.env または設定ファイルではなく、ターミナルに直接入力します。これらはこのターミナルセッションのみ続くため、閉じるとマシンは通常の設定に戻ります。ゲートウェイが x-api-key ヘッダーを読む場合は、ANTHROPIC_AUTH_TOKEN の代わりに ANTHROPIC_API_KEY を使用します。
- Bash or Zsh
- PowerShell
/v1/messages パスへの POST として状態 200 で表示されます。Claude Code は ?beta=true などのクエリ文字列を追加するため、完全な URL ではなくパスで一致させます。 2 つの失敗メッセージは異なる方向を指します。
Not logged in:ゲートウェイログをチェックして 2 つの原因を区別します。空の場合、認証情報がセッションに到達せず、リクエストがマシンを離れません。テストしているシェルでエクスポートを再実行してください。401本文にx-api-keyを示す拒否されたリクエストが表示される場合、ゲートウェイはそのヘッダーでキーを期待しています。ANTHROPIC_API_KEYに切り替えてくださいFailed to authenticate. API Error: 401は認証情報が送信され、拒否されたことを意味し、ゲートウェイログはどこかを示します。api.anthropic.comまたはプロバイダーのエンドポイントに名前を付ける401は、ゲートウェイがアップストリームに到達したが、保持するプロバイダー認証情報が拒否されたことを意味するため、開発者キーは機能し、ゲートウェイが保持するプロバイダー認証情報が間違っているか、プレースホルダーです
ANTHROPIC_BASE_URL がゲートウェイを指していないことを意味します。
設定を配布する
すべての開発者マシンにはゲートウェイアドレスと認証情報が必要です。マネージド設定を通じて中央から配布できるため、開発者は何も設定しないか、開発者に値を手動で設定させます。配布する内容
どのパスを選択するかに関わらず、同じ変数セットが適用されます。ほとんどのロールアウトはANTHROPIC_BASE_URL と認証情報のみが必要です。ゲートウェイセットアップが必要とする場合は、条件付き行を含めます。
| 変数または設定 | 機能 | 含める場合 |
|---|---|---|
ANTHROPIC_BASE_URL | Claude Code の API リクエストを api.anthropic.com の代わりにゲートウェイに送信します | 常に |
apiKeyHelper、または ANTHROPIC_AUTH_TOKEN または ANTHROPIC_API_KEY の認証情報 | ゲートウェイへの各リクエストを認証します。ヘルパーはキーを取得するコマンドを実行します。変数は静的キーを保持し、Authorization: Bearer および x-api-key としてそれぞれ送信されます | 常に。3 つのうち 1 つ |
ANTHROPIC_CUSTOM_HEADERS | すべての API リクエストに追加の HTTP ヘッダーを追加します | ゲートウェイがすべてのリクエストでテナントまたはルーティングヘッダーを必要とする場合 |
CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY | 起動時にゲートウェイの /v1/models をクエリし、返された名前を /model ピッカーに追加します | ゲートウェイが /v1/models を提供し、開発者のピッカーをそこから入力したい場合 |
CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS | Claude Code がプリリリース機能ヘッダーと本文フィールドを送信するのを停止します | ゲートウェイが Bedrock または Vertex アップストリームに転送し、ベータフィールドを拒否する場合。ゲートウェイ要件を参照してください |
ANTHROPIC_MODEL または ANTHROPIC_DEFAULT_HAIKU_MODEL | Claude Code がメインセッションとバックグラウンドトラフィックに要求するモデル名を設定します | ゲートウェイが Claude Code のデフォルトと一致しないモデル名をルーティングするか、バックグラウンド機能を別のモデルにルーティングする場合。オーバーライド名と Claude Code のデフォルト名の両方をゲートウェイでルーティングします。一部のサブコールはオーバーライドに関わらずデフォルト名をリクエストできるため |
ANTHROPIC_BEDROCK_BASE_URL、ANTHROPIC_VERTEX_BASE_URL、ANTHROPIC_FOUNDRY_BASE_URL、または ANTHROPIC_AWS_BASE_URL と そのプロバイダーの変数 | Claude Code をプロバイダー固有のベース URL を通じてゲートウェイに指します。Bedrock と Vertex はそれらのプロバイダーのネイティブリクエスト形式にも切り替わります | ゲートウェイが Bedrock、Vertex、Foundry、または AWS 上の Claude Platform の前にある場合。API 形式を参照してください |
マネージド設定を通じて配布する
マネージド設定ファイルのenv ブロックを通じて変数を配信し、MDM、レジストリポリシー、または設定管理によってプッシュします。
env ブロックに追加します。マネージド ANTHROPIC_BASE_URL は強制され、Claude Code がプロセス環境と低優先度の設定の上に適用するため、開発者のシェルエクスポートでオーバーライドできません。
マネージド設定にゲートウェイ認証情報と一緒に forceLoginMethod または forceLoginOrgUUID を含めないでください。Claude Code v2.1.146 以降では、どちらのキーも起動時に ANTHROPIC_API_KEY、ANTHROPIC_AUTH_TOKEN、および apiKeyHelper をブロックするため、開発者は This machine's managed settings require a first-party login を見て進むことができません。
サーバー管理設定配信には api.anthropic.com への直接接続が必要なため、ゲートウェイルーティングセッションに到達しません。ゲートウェイデプロイメントはこのファイルベースのマネージド設定パスを使用し、同じキーを強制します。
認証情報については、上記のように、マネージド設定ファイルで 1 つの apiKeyHelper コマンドを配布します。コマンドはローカル開発者としてシークレットストアに認証するため、各マシンは独自のキーを受け取ります。または、既存のシークレットプロセスを通じて各開発者にキーを配信し、ANTHROPIC_AUTH_TOKEN を自分で設定させます。
一部の環境には個別の配信が必要です。
- デスクトップアプリはゲートウェイルーティングをマネージド設定ファイルの MDM 配信サードパーティ推論設定からのみ読み取ります。デスクトップセッションもゲートウェイを通じてルーティングするように、マネージド設定と一緒にそのファイルをデプロイします。デスクトップサードパーティ設定ドキュメントと デスクトップゲートウェイドキュメントを参照してください
- CI ランナーは ランナーの環境で
ANTHROPIC_BASE_URLと認証情報を設定する必要があります - マネージド Windows マシン上の WSL は、
wslInheritsWindowsSettingsがtrueの場合にのみ Windows マネージド設定を読み取ります
開発者に値を自分で設定させる
マネージド設定配布が設定されていない場合は、各開発者に 接続ページに従うために必要なものを送信します。- ゲートウェイ URL
- 個人認証情報
- 認証情報を入れる変数:ベアラートークンゲートウェイの場合は
ANTHROPIC_AUTH_TOKEN、x-api-keyゲートウェイの場合はANTHROPIC_API_KEY。開発者にどちらかを伝えることで、接続ページで説明されている試行錯誤を節約できます - 配布する内容テーブルからの条件付き変数。その値を含む
claude はログイン画面を表示せずにセッションを開始します。配布された認証情報が認証を満たすため。次に /status を実行し、Status タブを開きます。Anthropic base URL 行はゲートウェイアドレスを表示し、マネージド配布の場合、Setting sources 行にはマネージド設定が含まれます。ログイン画面、または欠落している Anthropic base URL 行は、設定がマシンに到達しなかったことを意味します。
ロールアウトを検証する
ゲートウェイホストではなく開発者マシンからすべてが機能することを確認し、テストが開発者が使用するネットワークパスをカバーするようにします。ストリーミングリクエストを送信します。これはエンドポイント、ストリーミングパススルー、およびモデルルーティングを一度にチェックします。- Bash or Zsh
- PowerShell
data: 行が段階的に到着するのが見えるはずです。一時停止後に全レスポンスが一度に到着することは、ゲートウェイがバッファリングしていることを意味し、Claude Code をスタールさせます。404 はモデル名がルーティングされていないことを意味します。モデル名ごとに繰り返します。
次に claude を開始し、メッセージを送信します。このステップでの各症状には 1 つの原因があります。
- ログインプロンプトは認証情報ギャップを意味します。
/statusを実行し、Status タブを開きます。Setting sources行にマネージド設定が含まれていない場合、配布がマシンに到達しませんでした。含まれている場合、開発者認証情報が配布されなかったため、ANTHROPIC_AUTH_TOKENまたはapiKeyHelperを設定します Failed to authenticateエラーはゲートウェイがリクエストを拒否していることを意味します。そのログは、どの認証情報が失敗したかを示します。ゲートウェイ自体がログする拒否は開発者キーに名前を付けますが、api.anthropic.comまたはプロバイダーのエンドポイントからの401は、ゲートウェイが保持するプロバイダー認証情報が拒否されたことを意味します- ゲートウェイが
x-api-keyヘッダーでキーを期待する場合、ANTHROPIC_API_KEYとして設定されたときの 1 回限りの承認プロンプトは予想されます。ANTHROPIC_AUTH_TOKENでは、プロンプトは表示されず、変数は静かに引き継ぎます。以前に保存された claude.ai ログインはそのセッションでは非アクティブです
x-claude-code-session-id ヘッダーはセッション別にリクエストをグループ化します。機能が トラブルシューティング症状で失敗する場合、ゲートウェイはヘッダーをストリップするか、エラーを書き直しています。上記の ゲートウェイ要件を参照してください。
ゲートウェイを維持する
ロールアウト後、3 種類の変更が時間とともにゲートウェイに到達します。各変更には、監視する症状と実行するアクションがあります。| 変更 | ゲートウェイが追いついていない場合の症状 | アクション |
|---|---|---|
新しい Claude Code リリースは anthropic-beta 値とリクエスト本文フィールドを追加します | 開発者は Claude Code を更新した後、新しいフィールドに名前を付ける 400 エラーを報告します。機能パススルーを参照してください | anthropic-* ヘッダーとリクエスト本文を許可リストではなく逐語的に転送します。新しい Claude Code リリースを開発者に到達する前にゲートウェイに対してテストします |
| 新しい Claude モデルが利用可能になります | 開発者が新しいモデル名を選択すると 404 が表示されます。/model ピッカーはそれをリストしません | モデル名をゲートウェイのルーティング設定に追加し、ルーティングチェックを再実行します。ANTHROPIC_MODEL またはデフォルトモデル変数を配布する場合は、マネージド設定を更新します |
| 認証情報の有効期限が切れるか、ローテーションが必要です | すべての開発者リクエストがアップストリームからの 401 で失敗し始めます | ゲートウェイのプロバイダー認証情報を独自のスケジュールでローテーションします。開発者キーはゲートウェイでローテーションし、apiKeyHelperは設定を再配布せずに開発者ごとのローテーションを処理します |
429 レスポンスを含め、バックオフで最大 10 回、Retry-After を尊重します。プロトコルリファレンスを各 Claude Code リリースが送信する内容の契約として保持します。
関連リソース
- Claude Code を LLM ゲートウェイに接続する:開発者向けのセットアップ手順。サーフェスごとの設定とトラブルシューティングテーブル。開発者に配布できます
- ゲートウェイプロトコルリファレンス:ゲートウェイオペレーター向けのワイヤコントラクト。エンドポイント、転送するヘッダー、および機能パススルーテーブルをカバーしています
- 設定ファイルと優先度:マネージド、プロジェクト、およびユーザー設定がどのように組み合わさるか、および各プラットフォームでマネージドファイルがどこに行くか
- 組織向けに Claude Code をセットアップする:このゲートウェイが一部である広いロールアウト。ポリシー強制、使用状況の可視性、およびデータ処理を含みます