メインコンテンツへスキップ
LLM ゲートウェイは、Claude Code とモデルプロバイダーの間に組織が実行するプロキシです。組織がゲートウェイを使用する場合、Claude Code は個人の claude.ai ログインではなく、組織が発行する認証情報を使用してゲートウェイに認証します。 このページは、組織が運用するゲートウェイを通じて Claude Code を実行している開発者向けです。2 つのパスをカバーしています。管理者がすでに設定しているかどうかを確認する場合と、設定していない場合に自分で設定する場合です。

既存の設定を確認する

管理者は、管理設定、デバイス管理、または apiKeyHelper を通じてゲートウェイアドレスと認証情報を配布できるため、Claude Code は起動時にそれらを取得し、設定する必要がありません。組織がすでにこれを行ったかどうかを確認するには:
1

Claude Code を起動する

claude を実行します。ログイン画面ではなくセッションが開く場合、ゲートウェイ認証情報は配布されていません。以下の自分で設定を参照してください。
2

Status タブを確認する

Claude Code がログイン画面を表示せずにセッションを開始した場合、/status を実行し、Status タブを開いて、2 つの行を確認します:
  • Anthropic base URL:この行はゲートウェイアドレスが設定されている場合にのみ表示されます。ない場合、Claude Code はゲートウェイを指していません。以下の自分で設定を参照してください。
  • Auth token または API keyANTHROPIC_AUTH_TOKENANTHROPIC_API_KEY、または apiKeyHelper という名前の行は、ゲートウェイ認証情報がアクティブであることを確認します。代わりに claude.ai アカウントという名前の Login method 行は、認証情報が配布されていないことを意味します。自分で設定してください。
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ゲートウェイチームが’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 が実行されるすべての場所で永続化)。 最初の接続の場合、シェルエクスポートから始めて、値を設定ファイルに移動する前に検証リクエストを実行してください。

シェル環境変数として設定する

ゲートウェイチームが提供した値に置き換えます:
export ANTHROPIC_BASE_URL=https://llm-gateway.example.com
export ANTHROPIC_AUTH_TOKEN=sk-gateway-key
シェルエクスポートはそのターミナルセッションと、そこから開始されたプログラムにのみ適用されます。ドックまたはスタートメニューから起動されたエディターはそれらを見ません。新しいターミナル全体で永続化するには、同じ行をシェルプロファイル(~/.zshrc~/.bashrc、PowerShell $PROFILE など)に追加するか、代わりに設定ファイルを使用してください。

設定ファイルで設定する

Claude Code が実行されるすべての場所で設定を適用し、シェルに依存しないようにするには、設定ファイルenv ブロックで変数を設定します。設定ファイルはスコープが異なります:
  • ~/.claude/settings.json はすべてのプロジェクトに適用されます。Windows ではパスは %USERPROFILE%\.claude\settings.json です
  • .claude/settings.local.json は 1 つのプロジェクトに適用されます。Claude Code はファイルを作成するときに gitignore に追加します。自分で作成する場合は、認証情報を誤ってコミットしないように、最初に gitignore に手動で追加してください
プロジェクトの .claude/settings.json に認証情報を入れないでください。このファイルはコミットされ、リポジトリをクローンするすべての人と共有されます。
env ブロックはどちらのファイルでも同じように見えます:
{
  "env": {
    "ANTHROPIC_BASE_URL": "https://llm-gateway.example.com",
    "ANTHROPIC_AUTH_TOKEN": "sk-gateway-key"
  }
}
シェルエクスポートと設定ファイルの env ブロックの両方が同じ変数を設定する場合、設定ファイルの値が適用されます。/status を実行して、Claude Code が使用している基本 URL と認証情報ソースを確認してください。

接続を確認する

シェルで変数をエクスポートした状態で、ゲートウェイに 1 トークンのリクエストを直接送信します。これは Claude Code を開く前に URL と認証情報が機能することを確認するため、失敗はゲートウェイを指し、設定ではなく。以下のコマンドはシェル変数を読み取るため、設定ファイルに値を入れた場合でもシェルエクスポートが必要です。
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-sonnet-4-6", "max_tokens": 1, "messages": [{"role": "user", "content": "."}]}'
ゲートウェイが 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_TOKENAuthorization: Bearer で、ANTHROPIC_API_KEYx-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 の値は生成されたプロセスに到達しますが、拡張機能独自のログインチェックには到達しません。
{
  "claudeCode.environmentVariables": [
    { "name": "ANTHROPIC_BASE_URL", "value": "https://llm-gateway.example.com" },
    { "name": "ANTHROPIC_AUTH_TOKEN", "value": "sk-gateway-key" }
  ]
}

デスクトップアプリ

デスクトップアプリは、ANTHROPIC_BASE_URL または settings.json ではなく、管理者配布設定からゲートウェイルーティングを読み取ります。組織がそれを配布している場合、デスクトップアプリはゲートウェイを通じてルーティングされ、設定は不要です。そうでない場合は、ゲートウェイセッションのためにターミナル CLI または VS Code 拡張機能を使用してください。管理者は組織ロールアウトで説明されているように設定を配布します。 デスクトップアプリが Gateway was unreachable を表示する場合、アプリは起動時に設定された基本 URL に到達できませんでした。URL とネットワークパスを上記の curl テストで確認してください。

GitHub Actions

Claude Code GitHub Actions はワークフローの env ブロックから ANTHROPIC_BASE_URLANTHROPIC_CUSTOM_HEADERS を読み取ります。認証情報をアクションの anthropic_api_key 入力として渡します。アクションはそれを ANTHROPIC_API_KEY として設定するため、x-api-key ヘッダーでゲートウェイに到達します。 x-api-key ゲートウェイの場合、env で基本 URL を設定し、ゲートウェイキーを入力として渡します:
env:
  ANTHROPIC_BASE_URL: https://llm-gateway.example.com

steps:
  - uses: anthropics/claude-code-action@v1
    with:
      anthropic_api_key: ${{ secrets.GATEWAY_API_KEY }}
bearer token ゲートウェイの場合、同じシークレットをアクションの anthropic_api_key 入力とワークフロー env ブロックの ANTHROPIC_AUTH_TOKEN の両方として渡します。アクションは Claude Code を起動する前に anthropic_api_keyCLAUDE_CODE_OAUTH_TOKEN、またはワークロード ID フェデレーションが必要で、ANTHROPIC_AUTH_TOKEN を読み取らないため、入力はその起動チェックを満たし、env 変数はゲートウェイが読む Authorization ヘッダーにキーを入れます。x-api-key のコピーは無視されます:
env:
  ANTHROPIC_BASE_URL: https://llm-gateway.example.com
  ANTHROPIC_AUTH_TOKEN: ${{ secrets.GATEWAY_API_KEY }}

steps:
  - uses: anthropics/claude-code-action@v1
    with:
      anthropic_api_key: ${{ secrets.GATEWAY_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=...) は継承された環境の上にマージされるため、親プロセスで設定されたゲートウェイ変数は広げずに通ります。
const result = query({
  prompt: "...",
  options: {
    env: {
      ...process.env,
      ANTHROPIC_BASE_URL: "https://llm-gateway.example.com",
      ANTHROPIC_AUTH_TOKEN: process.env.GATEWAY_KEY,
    },
  },
})

Slack、ウェブ、Remote Control

Slack の Claude Codeウェブの Claude Code は、Anthropic がホストする製品で、常に Anthropic の API を使用します。ゲートウェイデプロイメントの一部ではありません。クラウドセッションの環境設定で設定されたゲートウェイ変数は適用されません。トラフィックがゲートウェイに留まる必要がある場合、これらのユーザーに対してこれらのサーフェスを有効にしないでください。 Remote Control音声ディクテーションは両方とも claude.ai ID に依存します。Remote Control はライブセッションをアカウントとペアリングし、音声ディクテーションは claude.ai トランスクリプションエンドポイントに到達します。ANTHROPIC_API_KEYANTHROPIC_AUTH_TOKEN、または apiKeyHelper がアクティブな間は利用できません。どちらかを使用するには、ゲートウェイ認証情報を設定解除し、代わりに claude.ai でログインしてください。/doctor は設定解除する変数という名前を付けます。

追加設定

これらの設定は基本 URL と認証情報を超えるケースをカバーしています。管理者の指示またはトラブルシューティングテーブルが 1 つを呼び出す場合のみこれらを設定します。

追加ヘッダーを送信する

一部のゲートウェイは、テナント識別子またはルーティングキーなど、認証情報に加えてカスタムヘッダーを使用してリクエストをルーティングまたはタグ付けします。1 つを送信するには、ANTHROPIC_CUSTOM_HEADERS を 1 行あたり 1 つの Name: Value ペアで設定します。以下の例は X-Org-Route という名前のルーティングヘッダーを追加します:
export ANTHROPIC_CUSTOM_HEADERS="X-Org-Route: prod"
設定ファイルの env ブロックで ANTHROPIC_CUSTOM_HEADERS を設定することもできます。JSON 文字列は複数行にまたがることができないため、ペア間で \n を使用します:
{
  "env": {
    "ANTHROPIC_CUSTOM_HEADERS": "X-Org-Route: prod\nX-Tenant: acme"
  }
}

ゲートウェイモデルをモデルピッカーに追加する

モデル検出は起動時にゲートウェイにモデルリストをクエリし、それらの名前を組み込みエントリと一緒に /model ピッカーに追加します。 ゲートウェイが Claude Code の組み込みリストにないモデル名を提供し、ピッカーから選択したい場合は、それを有効にします。組み込みモデルが使用するものである場合、検出は不要です。管理者は管理設定を通じてすでに有効にしている可能性があります。 有効にするには、シェルまたは ~/.claude/settings.jsonenv ブロックで 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 から参照します:
たとえば、ボルトから読み取るスクリプト:
#!/bin/bash
vault kv get -field=api_key secret/llm-gateway/claude-code
~/.claude/settings.json でそのパスを参照します:
{
  "apiKeyHelper": "~/bin/get-gateway-key.sh"
}
Claude Code はデフォルトでヘルパーの出力を 5 分間キャッシュし、リクエストが HTTP 401 を返すときに再度実行します。キャッシュ有効期間を変更するには、CLAUDE_CODE_API_KEY_HELPER_TTL_MS をミリ秒で設定します。たとえば、15 分の場合は CLAUDE_CODE_API_KEY_HELPER_TTL_MS=900000 です。 ヘルパーの値は Authorizationx-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

export ANTHROPIC_BEDROCK_BASE_URL=https://llm-gateway.example.com/bedrock
export CLAUDE_CODE_SKIP_BEDROCK_AUTH=1
export CLAUDE_CODE_USE_BEDROCK=1

Google Vertex AI

export ANTHROPIC_VERTEX_BASE_URL=https://llm-gateway.example.com/vertex
export ANTHROPIC_VERTEX_PROJECT_ID=your-gcp-project-id
export CLAUDE_CODE_SKIP_VERTEX_AUTH=1
export CLAUDE_CODE_USE_VERTEX=1
export CLOUD_ML_REGION=us-east5

Microsoft Foundry

ゲートウェイの認証情報を ANTHROPIC_FOUNDRY_API_KEY に入れます。x-api-key ヘッダーとしてゲートウェイに送信されます。CLAUDE_CODE_SKIP_FOUNDRY_AUTH はここでは適用されません。API キーがないと、Foundry クライアントはマシンを離れる前にすべてのリクエストに失敗します。
export ANTHROPIC_FOUNDRY_BASE_URL=https://llm-gateway.example.com/foundry
export ANTHROPIC_FOUNDRY_API_KEY=sk-gateway-key
export CLAUDE_CODE_USE_FOUNDRY=1

AWS 上の Claude Platform

ワークスペース ID については、AWS 上の Claude Platform を参照してください。
export ANTHROPIC_AWS_BASE_URL=https://llm-gateway.example.com/anthropic-aws
export ANTHROPIC_AWS_WORKSPACE_ID=wrkspc_01ABCDEFGHIJKLMN
export CLAUDE_CODE_SKIP_ANTHROPIC_AWS_AUTH=1
export CLAUDE_CODE_USE_ANTHROPIC_AWS=1

ゲートウェイエラーのトラブルシューティング

これらはゲートウェイを通じて 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_managementExtra 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_BEDROCKCLAUDE_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.jsonenv ブロックは最初の実行ウィザードと信頼プロンプトの後にのみ適用されますANTHROPIC_AUTH_TOKEN をどこかに設定します。Claude Code は最初の実行セットアップの前に読み取ります。シェルエクスポート、~/.claude/settings.jsonenv ブロック、または管理設定
ANTHROPIC_API_KEY が設定されていますが、プロンプトなしで無視されますキーはインタラクティブセッションで 1 回の承認が必要で、以前に拒否されたキーは再度尋ねられずに無視されます/configUse custom API key オプションで有効にします
This machine's managed settings require a first-party login管理設定に forceLoginMethod または forceLoginOrgUUID が含まれています。Claude Code v2.1.146 以降では、ANTHROPIC_API_KEYANTHROPIC_AUTH_TOKEN、または apiKeyHelper と共存できません管理者は管理設定から forceLoginMethodforceLoginOrgUUID を削除してゲートウェイ認証情報を使用するか、ゲートウェイ認証情報を削除してファーストパーティログインを使用する必要があります。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 証明書ストアを参照してください
ゲートウェイ設定を削除した後、Claude Code が繰り返しログインするよう求める場合、原因は通常、ゲートウェイではなく認証情報ストレージです。認証エラーを参照してください。