結論:APIキーとサブスクリプションは別の課金経路
Claude CodeでAnthropic ConsoleのAPIキーを使うには、Consoleでキーを発行し、実行環境へANTHROPIC_API_KEYとして安全に渡します。ClaudeのサブスクリプションでのログインとConsole APIの利用は別の認証・請求経路です。キーが環境変数にあると、対話モードでは一度承認した後にサブスクリプションよりAPIキーが優先され、非対話の-pではキーが常に使われます。
請求先を決めずに環境変数を設定すると、意図していないAPI利用になることがあります。キーの値をコマンド、設定ファイル、ログ、チケットへ書かず、Consoleで発行した後はシークレットマネージャーなどから実行環境へ注入してください。
Claude Codeの起動時にログインを求められても、必ずAPIキーを作る必要があるとは限りません。Claudeアカウントのサブスクリプションで使うのか、Console経由のAPI利用を使うのかを先に選びます。Claude Consoleのサインインだけを使う方法もありますが、サブスクリプションとは請求先が異なります。
3つの認証方法と請求先を比べる
| 方法 | 認証 | 請求先・注意点 |
|---|---|---|
| Claudeサブスクリプション | claude.aiのアカウントでログイン | 対象プランの利用枠。Proの料金にConsole API利用は含まれない |
| Claude Consoleログイン | claude auth login --consoleまたはログイン画面からConsoleを選択 | Console経由のAPI利用分の請求。公式手順ではAPIキーを作らないサインインも案内 |
| Console APIキー | ANTHROPIC_API_KEYを実行環境へ設定 | Console経由のAPI利用分。対話・非対話のどちらでもサブスクリプションと混同しない |
CLIのclaude auth login --consoleは、ClaudeサブスクリプションではなくConsole経由のAPI利用としてサインインするコマンドです。Claude Code v2.1.242以降は、ConsoleアカウントへAPIキーを発行せずにログインする選択肢も公式に案内されています。ConsoleへのサインインとAPIキーの発行は同じ操作ではありません。
Anthropicのヘルプセンターは、Claude Proの料金にConsole API利用が含まれず、API利用にはConsoleアクセスと別途の支払いが必要と説明しています。Claudeのサブスクリプションが有効でも、APIキーを使ったリクエストの費用がそこから差し引かれるとは限りません。実際に使うアカウントと請求画面を確認してください。
ConsoleでAPIキーを発行して保管する
- 発行権限を確認する:組織のConsoleを使う場合は、管理者から招待され、APIキーを作成できる権限があるかを確認します。作成ボタンが無効なら、管理者へ権限または発行担当を確認してください。
- 用途に合うリンク先を選ぶ:ConsoleのAPI keys画面でキー名、期限、linked accountを選び、必要に応じてworkspaceを指定します。個人の開発用と共有サービス用では、紐づけるaccountを分けます。
- 表示されたキーを安全な場所へ保存する:Consoleは作成時に完全な値を一度だけ表示します。組織で承認されたシークレットマネージャーへ保存してください。後からConsoleで同じ値を再表示できないため、失くした場合は新しいキーを発行します。
- 実行環境へ注入する:開発端末、コンテナ、CIごとに、使う環境だけへ
ANTHROPIC_API_KEYを渡します。ターミナルへ値を直接入力したコマンドや、リポジトリに残る設定ファイルへ書かないでください。
キー種別の選択では個人の開発作業か、CIや本番サービスのような共有ワークロードかを区別します。個人用キーとservice account keyの責任者や用途の違いは、Claude APIキーの種類と選び方で詳しく扱っています。発行する前に、誰が期限を管理し、失効時にどの処理を止めるかも決めてください。
秘密値を表示せずに設定を確認する
Claude CodeのAPI認証で使う環境変数はANTHROPIC_API_KEYです。キーの値を画面へ出さずに有無を調べる場合、BashまたはZshでは次のコマンドが使えます。
if printenv ANTHROPIC_API_KEY >/dev/null; then
echo "ANTHROPIC_API_KEY is set"
else
echo "ANTHROPIC_API_KEY is not set"
fi
claude auth status --text
printenvの標準出力を捨てているため、APIキーの値は表示されません。claude auth status --textは認証状態を確認するCLIコマンドです。診断結果を共有する場合は、設定ディレクトリや組織情報など、キー以外の情報が含まれていないかも見直してください。
キーが使われたときの課金動作を確認する
ANTHROPIC_API_KEYが設定されていると、ログイン中でもAPIキーがサブスクリプションより優先される仕様です。対話モードでは切り替え前に一度だけ承認を求めますが、非対話の-pでは環境変数があればAPIキーを使います。
そのため、CIやスクリプトを実行する前に、どのシークレット保管先がキーを注入するか確認してください。サブスクリプションを使うつもりなのに環境変数が残っている場合、現在のBash/Zshセッションではunset ANTHROPIC_API_KEYで変数を外し、claude auth status --textで認証状態を見直せます。シークレットマネージャーやCIの設定が再び注入する場合は、そちらの環境設定も確認します。
ログインできない、別の組織へ入る、認証が繰り返し求められる場合は、キーを何度も作り直す前に、選んだ認証方式、Consoleの招待状態、Claude Codeが起動した環境を確かめます。ログイン障害の切り分けはClaude Codeにログインできない時の確認手順を参照してください。Bedrockやgatewayなどの第三者経由は、Console APIキーとは異なるためGateway認証の切り分けで扱います。
APIキーを履歴やログへ残さないチェックリスト
- □ ClaudeサブスクリプションとConsole経由のAPI利用のどちらを使うか決めた
- □ Consoleで発行権限、linked account、workspace、期限を確認した
- □ 完全なキーはシークレットマネージャーへ保存し、作成画面を閉じる前に保管先を確認した
- □ キーの値をシェルコマンド、設定ファイル、リポジトリ、チャットやログへ書いていない
- □
printenvの出力を保存せず、有無だけを確認した - □ 非対話の
-pを動かす前にAPIキーの注入有無と請求先を確認した
よくある質問
ClaudeのサブスクリプションでAPI利用料も払えますか?
Claude Proの料金にはConsole API利用が含まれません。Claude CodeをConsole経由で使う場合は、サブスクリプションとは別途のAPI利用分の請求を確認してください。
Claude ConsoleへログインするにはAPIキーが必要ですか?
必ずしも必要ではありません。Claude Code v2.1.242以降は、APIキーを作らずにConsoleアカウントへサインインする方法も公式に案内されています。Consoleログインを選んだ場合の請求先はサブスクリプションと別です。
APIキーを紛失したらConsoleで再表示できますか?
作成時に表示される完全な値は一度だけです。紛失した場合は同じ値を再表示できないため、新しいキーを発行して、利用環境のシークレットマネージャーを更新します。
APIキーをsandbox内のコマンドへ渡すときは?
値をそのままコマンド引数やログへ出さず、利用環境に合った認証管理を選びます。sandbox内で秘密情報を扱う際のcredential maskingはClaude Codeのcredential maskingガイドを参照してください。
公式情報と無料診断
認証方式はClaude Code公式Authentication、環境変数がサブスクリプションに与える優先順位は公式Environment variables、CLIのConsoleログインと認証状態は公式CLIリファレンスで確認できます。APIキーの作成場所、期限、紐づくアカウント、秘密値の保存はClaude API公式のキー取得ガイド、ProとAPI利用の請求の違いはClaude Help Centerを参照してください。利用環境に合った秘密情報の保管や認証手順を整理したい場合は、Miraigentの無料診断をご利用ください。
