Claude Code で ANTHROPIC_API_KEY があると API 課金になる?確認と外し方

結論

  • 公式ヘルプセンターによると、Claude Code は環境変数の API キーをサブスクリプションより優先し、API キーがあると API の従量課金になります。
  • 確認は Claude Code 内の /status と、Claude Code の外のターミナルでの環境変数の表示の二本立てです。
  • サブスクで使うなら ANTHROPIC_API_KEY を未設定にします。シェル設定ファイルへの書き残しと、変更後のターミナル再起動忘れに注意が必要です。

環境変数の API キーがあると何が起きるか

Claude Code(Anthropic 社が提供する、ターミナルで動く AI コーディングエージェント)には、claude.ai のサブスクリプションでログインする方法と、API キーを使う方法があります。公式ヘルプセンターによると、環境変数に API キーが設定されていると、Claude Code はその API キーをサブスクリプションより優先します。認証方法を選べる柔軟性のための、意図的な動作とされています。

このとき、そのキーに紐づく API アカウントに対して、API の従量課金レートで請求されます。claude.ai のサブスクリプションや別の Console アカウントでログインしていても同じです。ログインしているからサブスクの枠で動いているとは限りません。

執筆時点(2026年10月)の公式ヘルプセンターの該当ページには、具体的な金額や回数は書かれていません。最新の金額は公式の料金ページで確認してください。

サブスクで使いたい場合、公式ヘルプセンターは ANTHROPIC_API_KEY を未設定のままにするよう案内しています。想定外の API 課金を防ぎ、サブスクリプションに含まれる利用分で使えるようになります。API キーを使いたいときは、必要なときだけ一時的に設定する方法が勧められています。

出典: Manage API key environment variables in Claude Code

今どちらで動いているかを確認する

公式ヘルプセンターでは、Claude Code 内で /status を実行すると、現在有効な認証方法が表示されると説明しています。定期的に実行して確認することが推奨されています。

環境変数そのものは、Claude Code の外のターミナルで次のコマンドを実行して確認します。まず macOS/Linux です。

echo $ANTHROPIC_API_KEY

Windows CMD の場合は次のとおりです。

echo %ANTHROPIC_API_KEY%

Windows PowerShell の場合は次のとおりです。

echo $env:ANTHROPIC_API_KEY

なお、初期設定の最中に環境変数の API キーが見つかると、Claude Code はどちらの認証方法を使うかの確認を求めます。ログイン成功後に両方の認証情報が有効な場合も、想定外の API 課金の可能性を知らせる通知が出るとされています。

出典: Manage API key environment variables in Claude Code

API キーの環境変数を外す

公式ヘルプセンターに載っている、一時的に外す方法です。macOS/Linux では次のようにします。

unset ANTHROPIC_API_KEY

Windows CMD の場合は次のとおりです。

set ANTHROPIC_API_KEY=

Windows PowerShell の場合は次のとおりです。

Remove-Item Env:ANTHROPIC_API_KEY

設定ファイルに書いて恒久的に設定している場合は、それも消す必要があります。macOS と Linux の削除コマンドは書き方が異なるため、公式ヘルプセンターの記載を確認してください。Windows では、システム環境変数の設定から変数を削除します。環境変数を変更したあとは、ターミナルの再起動が必要です。

出典: Manage API key environment variables in Claude Code

公式ドキュメントが示す認証の優先順位

公式ドキュメントによると、複数の認証情報があるとき、Claude Code は次の順で一つを選びます。

  1. クラウドプロバイダーの認証情報(CLAUDE_CODE_USE_BEDROCK、CLAUDE_CODE_USE_VERTEX、CLAUDE_CODE_USE_FOUNDRY のいずれかが設定されている場合)
  2. ANTHROPIC_AUTH_TOKEN 環境変数
  3. ANTHROPIC_API_KEY 環境変数
  4. apiKeyHelper スクリプトの出力
  5. CLAUDE_CODE_OAUTH_TOKEN 環境変数
  6. Anthropic プロファイルとフェデレーションの認証情報
  7. /login によるサブスクリプションの OAuth 認証情報(Claude Pro、Max、Team、Enterprise の利用者の既定)

サブスクのログインは最後に位置します。上位にある環境変数やクラウド設定が残っていると、そちらが使われる可能性があります。

ANTHROPIC_API_KEY の扱い

公式ドキュメントでは、対話モードで ANTHROPIC_API_KEY があると、キーを承認するか拒否するかを一度だけ尋ねられ、その選択が記憶されるとあります。後から変えるには /config の「Use custom API key」トグルを使います。このトグルは、環境に ANTHROPIC_API_KEY が設定されている間だけ表示されます。非対話モード(-p)では、キーがあれば常に使われます。

サブスクがあっても ANTHROPIC_API_KEY が設定されていて承認すると、API キーが使われます。キーが無効化された組織や期限切れの組織のものだと、認証に失敗することがあります。unset ANTHROPIC_API_KEY でサブスクに戻り、/status で確認します。両方が設定されていると、/status は使われていない側に印を付けます。

適用範囲

ANTHROPIC_API_KEY などは、CLI と、それを包む VS Code 拡張、Agent SDK、GitHub Actions に適用されます。Claude Desktop とクラウドセッションはこれらの環境変数を読みません。クラウドセッションは常にサブスクの認証情報を使います。

出典: Authentication

社内で試す・配るときの注意

公式ヘルプセンターは、避けたい点として次の三つを挙げています。

  • シェル設定ファイルに環境変数を設定して、そのまま忘れる
  • 環境変数を変更したあと、ターミナルを再起動しない
  • 環境変数に API キーがあるのに、サブスクを使っていると思い込む

情シスの方が社内に配布するなら、手順書に /status での確認と、設定ファイルに ANTHROPIC_API_KEY が残っていないかの確認を入れておくと、請求元の取り違えに気づきやすくなります。これは出典の注意点を踏まえた運用上の提案です。API キーの利用料の扱いは、公式の料金ページで確認してください。

出典: Manage API key environment variables in Claude Code

よくある質問

サブスクでログインしていれば、API 課金にはなりませんか?

なるとは限りません。公式ヘルプセンターによると、環境変数に API キーがあると、サブスクや別の Console アカウントでログインしていても、そのキーの API アカウントに従量課金されます。

出典: Manage API key environment variables in Claude Code

API キーが設定されているか、どう確認しますか?

Claude Code 内で /status を実行し、有効な認証方法を確認します。環境変数は、Claude Code の外のターミナルで、OS ごとの echo コマンドで確認します。コマンドは本文のとおりです。

出典: Manage API key environment variables in Claude Code

スクリプトで -p を使う場合、API キーはどう扱われますか?

公式ドキュメントによると、非対話モード(-p)では、ANTHROPIC_API_KEY があれば常にそのキーが使われます。対話モードのように承認を尋ねられることはありません。

出典: Authentication

関連する無料ツール

Claude Code API 料金 見積もり計算機: 入力・出力・キャッシュのトークン数と人数から、API で使う場合の月額の目安を計算します。

参考(執筆時点)

この記事は、上の出典の内容を中小DXラボが要約・再構成したものです。仕様は変わることがあります。社内で使う・配る前に、公式ドキュメントで最新の情報を確認してください。