0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Claude Code の settings.json:ANTHROPIC_BASE_URL でゲートウェイにつなぐ設定とエラーの対処法

0
Last updated at Posted at 2026-10-21

この記事は AIHubMix が作成しました。内容は2026年10月20日に、Claude Code 2.1.304 から AIHubMix の実際のキーでリクエストを送って確認したものです。

Claude Code は、同じ環境変数をシェル、最大4つの settings ファイル、VS Code の設定のどこからでも読み込みます。ある場所でゲートウェイを指定しても、別の場所に古い値が残っていると、ログイン画面が出たり、モデルのエラーになったり、貼り付けたばかりのキーと合わない 401 が返ってきたりします。

この記事では、動く settings.json、競合する値を Claude Code がどう選ぶか、そして設定がおかしいときに表示される正確なメッセージをまとめます。例では AIHubMix をゲートウェイとして使いますが、Anthropic 互換のゲートウェイなら設定方法は同じです。

TL;DR

  • 設定ファイルは ~/.claude/settings.json(Windows では %USERPROFILE%\.claude\settings.json)。その env ブロックに ANTHROPIC_BASE_URL と ANTHROPIC_AUTH_TOKEN を書きます。
  • base URL はルートのアドレス(https://aihubmix.com)です。/v1/messages は Claude Code が自分で付けます。
  • settings の env に書いた値は、シェルで export した同名の変数を上書きします。ファイルに書いていない変数は、シェルの値がそのまま使われます。
  • ANTHROPIC_AUTH_TOKEN と ANTHROPIC_API_KEY を両方設定しないでください。ヘッダーが2つとも送られ、AIHubMix は x-api-key を先に読みます。
  • VS Code では、claudeCode.environmentVariables にも同じ2つの変数を設定する必要があります。

前提

  • Claude Code がインストール済み。この記事は 2.1.304 で確認しています。
  • ゲートウェイのキー。AIHubMix の場合は AIHubMix コンソール で発行します。

設定

~/.claude/settings.json
{
  "$schema": "https://json.schemastore.org/claude-code-settings.json",
  "env": {
    "ANTHROPIC_BASE_URL": "https://aihubmix.com",
    "ANTHROPIC_AUTH_TOKEN": "sk-your-aihubmix-key"
  },
  "model": "claude-sonnet-5-5"
}

$schema の行はなくてもかまいません。書いておくと、VS Code や Cursor などのエディタが入力ミスを指摘してくれます。AIHubMix は Anthropic 公式のモデル ID(たとえば claude-sonnet-5-5)をそのまま使っているので、sonnet、opus、haiku のエイリアスは追加の変数なしで使えます。

動作確認

claude -p "1+1, output only the answer"

2 と表示されれば成功です。次にプロジェクトで claude を起動します。ロゴの下に Sonnet 5.5 · API Usage Billing のような表示が出て、/status には次の行が表示されます。

Auth token:          ANTHROPIC_AUTH_TOKEN
Anthropic base URL:  https://aihubmix.com
Model:               claude-sonnet-5-5
Setting sources:     User settings

Setting sources には、読み込まれた settings ファイルがすべて表示されます。存在を忘れていたファイルを見つけるには、ここを見るのがいちばん早い方法です。

どの値が優先されるか

settings ファイルの優先順位は、Anthropic の設定の優先順位によると、高い順に次のとおりです。

  1. 組織が配布する管理設定(managed settings)
  2. コマンドラインの --settings(そのセッションだけ)
  3. .claude/settings.local.json(自分用、このリポジトリだけ)
  4. .claude/settings.json(git で共有されるので、トークンは絶対に書かない)
  5. ~/.claude/settings.json

環境変数には、もう1つルールがあります。どのファイルでも、env ブロックに書いた変数はシェルの値を上書きします。AIHubMix に対するテストで、このルールがどこまで効くかが分かりました。

設定 結果
settings のトークンは正しく、シェルの base URL とトークンは間違い 動く(settings の値が優先)
settings のトークンは正しく、シェルに間違った古い ANTHROPIC_API_KEY が残っている 401。古いキーの末尾6文字が表示される
settings のトークンは間違いで、シェルの ANTHROPIC_API_KEY は正しい 動く
シェルの ANTHROPIC_MODEL は Haiku、settings の model は Sonnet Haiku が使われる

落とし穴は真ん中の2行です。settings ファイルには ANTHROPIC_API_KEY が書かれていないので、シェルの値がそのまま残ります。Claude Code はそれをトークンと一緒に送り、AIHubMix はそちらを使いました。

AUTH_TOKEN と API_KEY

変数 送られ方 備考
ANTHROPIC_AUTH_TOKEN Authorization: Bearer すぐに使われる
ANTHROPIC_API_KEY x-api-key 対話モードでは最初に1回承認を求められる

AIHubMix はどちらも受け付けます。AIHubMix の Claude Code ガイド では ANTHROPIC_AUTH_TOKEN を使っています。どちらか一方に決めて、もう一方はシェルの設定ファイルから削除してください。

どちらかの変数を設定すると、リクエストには claude.ai のログインが使われなくなり、ゲートウェイがトークン単位で課金します。Anthropic のゲートウェイ接続ガイドに書かれているとおりです。ログイン情報は保存されたままです。認証情報なしで ANTHROPIC_BASE_URL だけを設定した場合は、サブスクリプションが使われ続けます。

モデルの選び方

Anthropic のモデル設定のページによると、優先順位は高い順に次のとおりです。

  1. セッション中の /model <名前>
  2. claude --model <名前>
  3. ANTHROPIC_MODEL
  4. model キー

/model は選んだモデルを新しいデフォルトとして保存しますが、ANTHROPIC_MODEL が設定されていると、新しいセッションは毎回そちらに戻ります。model キーを使うのがおすすめです。何も設定していなければ、Claude Code は Opus 5.5 を使います。ANTHROPIC_DEFAULT_OPUS_MODEL、ANTHROPIC_DEFAULT_SONNET_MODEL、ANTHROPIC_DEFAULT_HAIKU_MODEL は、エイリアスが送るモデルを差し替えるだけの変数です。

実際にどのモデルが使われたかは、claude -p "..." --output-format json の出力の modelUsage で確認できます。

なお、ゲートウェイが同じアドレスで Claude 以外のモデルを提供していても、Anthropic は Claude Code で Claude 以外のモデルを使うことをサポートしていません。

変更が反映されるタイミング

Claude Code は settings ファイルを監視していて、保存した変更のほとんど(env を含む)は実行中のセッションに反映されます。model キー、削除した変数、シェルの export は再起動が必要です。

VS Code

拡張機能は起動前に、自身の claudeCode.environmentVariables 設定を使ってログイン状態を確認します。そのため ~/.claude/settings.json だけでは、VS Code でサインインを求められることがあります。Preferences: Open User Settings (JSON) を開いて、次を追加します。

settings.json
{
  "claudeCode.environmentVariables": [
    { "name": "ANTHROPIC_BASE_URL", "value": "https://aihubmix.com" },
    { "name": "ANTHROPIC_AUTH_TOKEN", "value": "sk-your-aihubmix-key" }
  ]
}

そのあと Developer: Reload Window を実行します。詳しくは Anthropic の VS Code のドキュメント を参照してください。Claude デスクトップアプリは、settings.json もこれらの変数も読みません。

知っておくと便利な変数

変数 設定する場面
API_TIMEOUT_MS 長いリクエストがタイムアウトする(デフォルトは10分)
CLAUDE_CODE_MAX_RETRIES エラーを早く表示させたい
HTTPS_PROXY HTTP プロキシの内側にいる
NODE_EXTRA_CA_CERTS プロキシが独自のルート証明書を使っている

どれも env ブロックに書けます。全一覧は Anthropic の環境変数リファレンスにあります。

ハマりどころ

「Not logged in · Please run /login」と表示される

Claude Code に認証情報が届いていません。変数がない、ファイルが読み飛ばされた(次の項目)、トークンがプロジェクトのファイルにしかない、のどれかです。ログインの確認はプロジェクトの設定を読む前に行われるので、新しくインストールした環境でトークンが .claude/settings.local.json にしかないと、Select login method: の画面になります。トークンは ~/.claude/settings.json に移してください。

settings ファイルが「Invalid or malformed JSON」で読み込まれない

These settings files did not load ... Invalid or malformed JSON

メッセージに出ているファイルに、// のコメントや末尾のカンマがあります。そのファイルの設定は、トークンも含めて何も反映されません。

「There's an issue with the selected model」と表示される

モデル ID が正しいなら、ほぼ確実に base URL の末尾に /v1 が付いています。リクエストが /v1/v1/messages に送られてしまうので、/v1 を削除してください。

400「This model ID is incorrect」が返ってくる

API Error: 400 The model ID you entered is: ... This model ID is incorrect

AIHubMix にその ID のモデルはありません。メッセージには、AIHubMix が受け取った ID がそのまま表示されます。AIHubMix のモデル一覧から ID をコピーし直してください。

401「invalid key」の6文字が自分のキーと合わない

Failed to authenticate. API Error: 401 invalid key: XXXXXX

6文字は、AIHubMix が受け取ったキーの末尾です。PI_KEY なら、プレースホルダーの AIHUBMIX_API_KEY が貼り付けられています。自分のトークンの末尾と違う文字なら、別のキーが送られています。たいていは古い ANTHROPIC_API_KEY です。メッセージが this key is not enabled の場合は、コンソールでキーの状態と残高を確認してください。

「auth may not work as expected」と表示される

トークンの変数と、保存された claude.ai のログインの両方が有効になっています。ゲートウェイを使い続けるなら /logout を実行し、サブスクリプションに戻すなら変数を削除します。

「Claude Code doesn't recognize the model」と表示される

エラーではなく警告です。リクエストは送られますが、Claude Code はコンテキストウィンドウを20万トークンとみなします。新しい Claude モデルなら、claude update で表示されなくなります。

キーが間違っていると、止まったように見える

Claude Code は失敗したリクエストを最大10回再試行します。間違ったキーでは、claude -p が 401 を表示するまでに190秒かかりました。デバッグ中は CLAUDE_CODE_MAX_RETRIES=0 にしておくと、数秒でエラーが返ってきます。

検証していないこと

  • VS Code 拡張機能とデスクトップアプリの節は Anthropic のドキュメントに基づくもので、どちらもテストしていません。編集後にウィンドウを再読み込みするのは提案で、ドキュメントに書かれた手順ではありません。
  • this key is not enabled と auth may not work as expected は再現していません。
  • テストは主に使い捨ての HOME で claude -p を使い、AIHubMix のキー1つで行いました。

まとめ

  • ゲートウェイの設定は ~/.claude/settings.json の env ブロックに書く
  • base URL はルートのアドレスにし、/v1 は付けない
  • ANTHROPIC_AUTH_TOKEN と ANTHROPIC_API_KEY はどちらか一方だけにし、シェルに残った古いキーは削除する
  • 値がどこから来ているかは、/status の Auth token と Setting sources で確認する
  • 401 の6文字は実際に送られたキーの末尾なので、自分のキーと見比べる

Claude は Claude Code から、OpenAI や Google などのモデルはほかのツールから、1つのキーで使いたい場合、AIHubMix は https://aihubmix.com で Anthropic API を提供しています。Claude Code に必要なのは、上の settings ファイルだけです。

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?