ドキュメントClaude Code

Claude Code

Claude Code を Echo Token Station 経由で Claude のモデルにつなぐ設定と、確認されている問題です。

Claude Code は、Anthropic のコーディング用 AI ツールです。ターミナルや VS Code で動きます。Claude Code は Anthropic 形式で Echo に接続します。

動作確認:Claude Code 2.1.278(2026-09-27、Echo の検証環境)

始める前に

  • Claude Code で使うのは Claude のモデルです。Anthropic は、Echo のような中継サービス(ゲートウェイ)を経由して Claude 以外のモデルを使う構成をサポートしていません。また、ゲートウェイ製品を推奨・保守・監査していません
  • Echo のキーを設定している間は、claude.ai のサブスクリプションは使われません。料金は Echo の残高から差し引きます
  • Echo の API キーと、使う Claude のモデルの ID を用意します。提供する Claude のモデルとその ID は、モデル一覧で確認できます

設定する

ターミナルで設定する

次の環境変数(パソコンに設定しておく名前付きの値)を設定します。sk-... は Echo の API キーに、モデル ID は使うモデルの ID に置き換えます。

bash
export ANTHROPIC_BASE_URL="https://token.echohub.io"
export ANTHROPIC_AUTH_TOKEN="sk-..."
export ANTHROPIC_MODEL="claude-sonnet-5"
export ANTHROPIC_DEFAULT_OPUS_MODEL="claude-opus-5-5"
export ANTHROPIC_DEFAULT_SONNET_MODEL="claude-sonnet-5"
export ANTHROPIC_DEFAULT_HAIKU_MODEL="claude-haiku-4-5"
変数意味
ANTHROPIC_BASE_URL接続先。/v1 は付けません。Claude Code が /v1/messages を付けます
ANTHROPIC_AUTH_TOKENEcho の API キー。Authorization: Bearer ヘッダーで送られます
ANTHROPIC_MODEL使うモデルの ID
ANTHROPIC_DEFAULT_OPUS_MODEL、ANTHROPIC_DEFAULT_SONNET_MODELClaude Code の中で「opus」「sonnet」を選んだときに使うモデルの ID
ANTHROPIC_DEFAULT_HAIKU_MODEL「haiku」を選んだときと、裏側の処理(セッション名の作成など)に使うモデルの ID
  • モデル ID を設定しないと、Claude Code は自分の既定のモデル ID で呼び出します。その ID を Echo が提供していない場合はエラーになり、表示されるまで 1 分以上かかります(下の「確認されている問題」)
  • ANTHROPIC_DEFAULT_OPUS_MODEL などの 3 つにも、Echo が提供しているモデルの ID を入れます。提供していない ID を入れると、そのモデルを使う場面でエラーになります
  • ANTHROPIC_API_KEY に別のキー(Anthropic のキーなど)が入っている場合は、削除してから設定します。Claude Code はこの変数のキーを x-api-key ヘッダーで送ります

設定ファイルに書く

毎回設定しない場合は、~/.claude/settings.json(Windows は %USERPROFILE%\.claude\settings.json)の env に書きます。

JSON
{
  "env": {
    "ANTHROPIC_BASE_URL": "https://token.echohub.io",
    "ANTHROPIC_AUTH_TOKEN": "sk-...",
    "ANTHROPIC_MODEL": "claude-sonnet-5",
    "ANTHROPIC_DEFAULT_OPUS_MODEL": "claude-opus-5-5",
    "ANTHROPIC_DEFAULT_SONNET_MODEL": "claude-sonnet-5",
    "ANTHROPIC_DEFAULT_HAIKU_MODEL": "claude-haiku-4-5"
  }
}

シェルと設定ファイルの両方で同じ変数を設定した場合は、設定ファイルの値が使われます。

注意:プロジェクトの .claude/settings.json にはキーを書かないでください。このファイルはリポジトリに入り、ほかの人にも共有されます。

VS Code の拡張機能で使う

VS Code のユーザー設定(コマンド「Preferences: Open User Settings (JSON)」で開きます)の claudeCode.environmentVariables に書きます。拡張機能は、起動前にこの設定の認証情報を確認します。

JSON
{
  "claudeCode.environmentVariables": [
    { "name": "ANTHROPIC_BASE_URL", "value": "https://token.echohub.io" },
    { "name": "ANTHROPIC_AUTH_TOKEN", "value": "sk-..." },
    { "name": "ANTHROPIC_MODEL", "value": "claude-sonnet-5" }
  ]
}

動作を確かめる

  1. 環境変数を設定したターミナルで、次のコマンドを実行します。最後の行に 200 が表示され、その上に "type":"message" を含む JSON が表示されれば、接続先とキーは正しく設定されています
bash
curl -sS -w '\n%{http_code}\n' -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-5", "max_tokens": 16, "messages": [{"role": "user", "content": "こんにちは"}]}'
  1. 同じターミナルで claude を起動し、/status を実行します。接続先が https://token.echohub.io になっていること、認証情報として ANTHROPIC_AUTH_TOKEN が表示されていることを確認します
  2. 何か話しかけて、エラーなく回答が返れば完了です。コンソールの「呼び出し履歴」にも記録が出ます

確認されている問題

2026-09-27 に Echo の検証環境で確認した動作です。

状況Claude Code での見え方対処
残高が足りないFailed to authenticate. API Error: 403 Insufficient balance と表示されます。「認証に失敗」と出ますが、原因はキーではなく残高ですチャージする
キーの誤り(401)、モデル ID の誤り(503)、混雑(429・529)エラーを表示する前に再試行を続けます。検証では、60 秒以上何も表示されないまま待つことがありました原因を早く確かめるときは、上の curl で HTTP ステータスとエラー本文を確認する。再試行の回数は環境変数 CLAUDE_CODE_MAX_RETRIES(既定 10 回)で減らせます
回答の途中で、経由先の API がエラーを返した、または接続が切れたエラーを表示せずに、その回の回答が途中で終わる、または空になることがあります同じ指示をもう一度送る。修正予定:[ ]
トークン数を数える API(/v1/messages/count_tokens)を使う場面Echo はこの API に対応していないため、Claude Code は文字数からの概算に切り替えます。/context の表示は概算になります対処は不要です。料金の計算には影響しません

経由先の API がエラーを返す状況と、エラー本文の一覧はエラーと対処にあります。

うまくいかないとき

症状原因対処
起動するとログイン画面が出るClaude Code が Echo のキーを読み込んでいないANTHROPIC_AUTH_TOKEN を、シェルか ~/.claude/settings.json の env に設定する
起動時に、認証情報が 2 つあるという警告が出るclaude.ai のログインと Echo のキーの両方が有効/logout で claude.ai のログインを消す
回答が返らないまま長く待ったあと、401 のエラーが出るキーが違う、停止している、有効期限切れ、または利用上限を使い切ったコンソールでキーの状態と利用上限を確認する
404 と Invalid URL (POST /v1/v1/messages)ANTHROPIC_BASE_URL に /v1 を付けているhttps://token.echohub.io に直す
Failed to authenticate. API Error: 403 Insufficient balance残高が足りないチャージする
403 と This API key has reached its spending limitキーの残りの利用上限が足りない上限とレート制限を見る
回答が返らないまま長く待ったあと、503 と The model … does not exist or is not available が出るモデル ID が違う、または Echo が提供していないモデルANTHROPIC_MODEL などのモデル ID を確認する
400 で context_management や Extra inputs are not permitted などが出る経由先の API が、Claude Code の試験的な機能のパラメータを受け付けないCLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1 を設定する

Claude Code は、リクエストに端末とセッションを区別する ID を付けて送ります。Echo はこの値を変えずに経由先の Anthropic に渡します。詳しくはデータの取り扱いにあります。

確認した情報源

内容情報源確認日
接続先とモデルの環境変数での接続、残高不足・再試行・回答の途中で止まったときの見え方、/v1 を付けたときの 404Echo の検証環境での実測(Claude Code 2.1.278)。本番と同じ中継設定で、経由先の API の代わりに試験用の応答を返すサーバーを使いました2026-09-27
接続先とキーの環境変数、ANTHROPIC_API_KEY が x-api-key で送られること、設定ファイルの優先順位、VS Code の設定、確認用の curl と /status、エラーの対処表https://code.claude.com/docs/en/llm-gateway-connect2026-09-27
Claude 以外のモデルはサポート外、ゲートウェイ製品を推奨・保守・監査していないこと、サブスクリプションが使われなくなることhttps://code.claude.com/docs/en/llm-gateway2026-09-27
/v1/messages/count_tokens がない場合は文字数から概算することhttps://code.claude.com/docs/en/llm-gateway-protocol2026-09-27
再試行の回数と CLAUDE_CODE_MAX_RETRIEShttps://code.claude.com/docs/en/errors2026-09-27