Claude CodeでANTHROPIC_BASE_URLとAPIキーを設定する方法

Claude CodeでANTHROPIC_BASE_URLとANTHROPIC_AUTH_TOKENを設定し、競合する設定を整理して、キーを漏らさず接続を確認する手順です。

Claude CodeでANTHROPIC_BASE_URLとAPIキーを設定する方法

Claude CodeからBetterTokenへ接続するには、ANTHROPIC_BASE_URL=https://bettertoken.aiを指定します。末尾に/v1は付けません。自分のAPIキーはANTHROPIC_AUTH_TOKENで渡します。両方をユーザー設定の~/.claude/settings.jsonに保存しておけば、リポジトリへ認証情報を置かずに、すべてのプロジェクトで同じ設定を利用できます。

対応する設定例とVS Codeでの設定方法は、BetterTokenの最新Claude Codeガイドにまとめられています。この構成でBetterTokenが提供するのは、従量課金の独立したAPIアクセスです。APIキーがClaudeのサブスクリプションになるわけではなく、Anthropicアカウントの規則も変わりません。

まだキーがない場合は、まずBetterToken Workspaceにログインして自分のAPI Keyを作成し、使用するモデルに必要なgroupまたはmappingを現在のClaude Codeガイドで確認してください。チーム共用キーや古いサンプルに記載されたgroupは使わないでください。以下の手順は、用途に合った自分専用のキーがすでにあることを前提としています。

必要な2つの値

項目BetterTokenでの値よくあるミス
ANTHROPIC_BASE_URLhttps://bettertoken.aiOpenAI-compatibleクライアント向けの/v1を付ける
ANTHROPIC_AUTH_TOKENYOUR_API_KEY前後に空白や引用符が付いたキーを貼り付ける、または公開ファイルへ保存する

Claude CodeはAnthropicプロトコルを使用します。そのため、CodexなどのOpenAI-compatibleクライアントで使う`https://www.bettertoken.ai/v1%60%E3%81%A8%E3%81%AF%E6%8E%A5%E7%B6%9A%E5%85%88%E3%81%8C%E7%95%B0%E3%81%AA%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82?utm_source=blog&utm_medium=organic_content&utm_campaign=SEO-015&utm_content=anthropic-base-url-api-key-nastroyka

ステップ1:競合する環境変数を削除する

設定を追加する前に、古い値が残っていないか確認します。

printenv ANTHROPIC_BASE_URL test -n "$ANTHROPIC_AUTH_TOKEN" && echo "ANTHROPIC_AUTH_TOKEN is set"

トークンそのものは表示しないでください。現在のシェルに変数が設定されており、今後は設定ファイルを優先させる場合は、次のように解除します。

unset ANTHROPIC_BASE_URL unset ANTHROPIC_AUTH_TOKEN

続けて~/.zshrc~/.bashrc.env、IDEの設定、利用中のプロバイダーマネージャーも確認します。起動済みのプロセスは、定義元のファイルを変更した後でも、起動時に継承した環境変数を保持していることがあります。

ステップ2:ユーザー設定を追加する

Claude Codeの公式設定リファレンスでは、ユーザー設定は~/.claude/settings.json、共有するプロジェクト設定は.claude/settings.json、ローカルのプロジェクト設定は.claude/settings.local.jsonに保存されます。

BetterToken用に次の設定を追加します。

{ "env": { "ANTHROPIC_BASE_URL": "https://bettertoken.ai/?utm_source=blog&utm_medium=organic_content&utm_campaign=SEO-015&utm_content=anthropic-base-url-api-key-nastroyka", "ANTHROPIC_AUTH_TOKEN": "YOUR_API_KEY", "CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1", "API_TIMEOUT_MS": "3000000" } }

置き換えるのはYOUR_API_KEYだけです。既存ファイルにpermissionshookspluginsなどの項目がある場合、ファイル全体を上書きしないでください。envオブジェクトを追加またはマージし、JSONとして正しい状態を保ちます。

ファイルへのアクセスを制限し、権限が反映されたことを確認します。

chmod 600 ~/.claude/settings.json ls -l ~/.claude/settings.json

出力では、グループとその他のユーザーに読み取り・書き込み権限が付いていない必要があります。Issueへファイル全体を添付しないでください。チームで設定する場合も、共通の本番トークンを公開せず、各ユーザーが自分のキーを使います。

ステップ3:Claude Codeを再起動する

現在動いているClaude Codeのプロセスを完全に終了し、claudeを起動し直します。すでに動作中のClaude Codeを終了せずにターミナルのタブだけを開き直しても不十分です。プロセスは起動時に受け取った環境を保持しています。

VS Code拡張機能には、VS Codeのsettings.json内にclaudeCode.environmentVariablesという別の設定箇所があります。ターミナルのシェルと拡張機能が常に同じ環境変数を読むとは限りません。

ステップ4:小さなタスクで接続を確認する

テスト用ディレクトリでClaude Codeを起動し、安全なリクエストを送ります。

次の1行だけを返してください: CLAUDE_PROVIDER_OK。ファイルを変更せず、コマンドも実行しないでください。

リクエストを送る前に現在時刻を控えます。次の条件を満たせば、設定は機能しています。

  • 401403ConnectionRefusedmodel not foundのいずれも発生せず、応答が返る
  • テスト開始後の時刻が付いた新しい記録がBetterToken Workspaceに表示される
  • その記録に、想定したモデル、ステータス、使用量が表示される
  • 再起動後にClaude Codeが以前のproviderへ戻らない

応答が成功しただけでは、どのルートがリクエストを処理したかは証明できません。設定が競合していると、別のproviderが使われる場合があります。確認の根拠は、テスト開始後の時刻が付いたWorkspaceの新しい記録です。その記録が表示されたことを確認してから、作業対象のリポジトリを開いてください。

競合する設定を見つける

共通の優先順位があると仮定しないでください。実際に使われる設定は、Claude Codeの起動方法、managed policy、プロセスがすでに継承している環境によって変わります。まず、対象の設定名が含まれるすべての設定元を特定します。

printenv ANTHROPIC_BASE_URL test -n "$ANTHROPIC_AUTH_TOKEN" && echo "ANTHROPIC_AUTH_TOKEN is set" grep -lE '"ANTHROPIC_(BASE_URL|AUTH_TOKEN)"' \ ~/.claude/settings.json \ .claude/settings.json \ .claude/settings.local.json 2>/dev/null

このコマンドが表示するのはファイル名だけで、トークンの値は表示しません。起動に関係する場合は、組織のmanaged settings、VS Code拡張機能、外部のプロバイダーマネージャーも確認します。その後、設定元を1つずつ変更し、クライアントを完全に再起動して、Workspaceに新しい記録が追加されたことを確認しながら小さなリクエストを再実行します。

よくあるエラー

ConnectionRefusedまたは誤ったendpointへの接続

アドレスを文字どおり確認してください。正しい値はhttps://bettertoken.aiです。/v1/messages、末尾の空白は付けません。必要なプロトコルのパスはClaude Codeが追加します。

401またはauthentication failure

漏えいの可能性がある場合は新しいキーを作成し、前後に空白を付けずにコピーします。別のクライアント用変数ではなく、ANTHROPIC_AUTH_TOKENが読み込まれていることも確認してください。サポートへトークンを平文で送らないでください。

変更が反映されない

Claude Codeの全プロセスを終了し、printenvで古い値を確認してから、クライアントを再起動します。VS CodeではReload Windowを実行するか、拡張機能を再起動してください。

model not found

古い記事に記載されたModel IDをそのまま使わないでください。キーやモデルに明示的なmapping設定が必要な場合は、現在のModel IDをSetupまたは最新のClaude Code設定ガイドから取得してください。

確認用チェックリスト

  • Claude CodeのBase URLに/v1が含まれていない
  • 実際のキーがGitやスクリーンショットに残っていない
  • 古い設定元をすべて特定し、それぞれを1つずつ検証している
  • Claude Codeを完全に再起動している
  • 小さなread-onlyリクエストがWorkspaceに表示されている

5項目すべてを確認できたら、実際のタスクへ進みます。確認できない項目がある場合は、Claude Codeのステップ別設定ガイドを開き、使用するクライアントを選んで、設定ファイル全体を置き換えるのではなく各項目を1つずつ照合してください。

LLM ワークフローを最適化しませんか?

単一 API でモデルを接続し、キーと AI コストを管理できます。