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 は次の順で一つを選びます。
- クラウドプロバイダーの認証情報(
CLAUDE_CODE_USE_BEDROCK、CLAUDE_CODE_USE_VERTEX、CLAUDE_CODE_USE_FOUNDRYのいずれかが設定されている場合) ANTHROPIC_AUTH_TOKEN環境変数ANTHROPIC_API_KEY環境変数apiKeyHelperスクリプトの出力CLAUDE_CODE_OAUTH_TOKEN環境変数- Anthropic プロファイルとフェデレーションの認証情報
/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 アカウントに従量課金されます。
API キーが設定されているか、どう確認しますか?
Claude Code 内で /status を実行し、有効な認証方法を確認します。環境変数は、Claude Code の外のターミナルで、OS ごとの echo コマンドで確認します。コマンドは本文のとおりです。
スクリプトで -p を使う場合、API キーはどう扱われますか?
公式ドキュメントによると、非対話モード(-p)では、ANTHROPIC_API_KEY があれば常にそのキーが使われます。対話モードのように承認を尋ねられることはありません。
出典: Authentication
関連する無料ツール
Claude Code API 料金 見積もり計算機: 入力・出力・キャッシュのトークン数と人数から、API で使う場合の月額の目安を計算します。
参考(執筆時点)
- Manage API key environment variables in Claude Code(公式ヘルプセンター)
- Authentication(公式ドキュメント)
この記事は、上の出典の内容を中小DXラボが要約・再構成したものです。仕様は変わることがあります。社内で使う・配る前に、公式ドキュメントで最新の情報を確認してください。