Claude Codeの認証優先度を理解する
Claude Codeを使用する際、予期しないAPI料金を避け、意図したアカウントを使用していることを確認するために、認証方法の優先度がどのように機能するかを理解することが重要です。
認証の仕組み
Claude Codeは、認証済みサブスクリプションよりも環境変数APIキーを優先します。
これは、認証方法の選択に柔軟性を持たせるための意図的な動作です。
APIキーが環境変数として設定されている場合、そのキーに関連付けられたAPIアカウントを使用してAPI従量課金制で課金されます。
これは、Claude Codeにclaude.aiサブスクリプションまたは別のConsoleアカウントでログインしている場合でも発生します。
ベストプラクティス
Claude Codeをあなたのクラウドサブスクリプションで使用するには: ANTHROPIC_API_KEY環境変数を設定しないままにしてください。
これにより、予期しないAPI料金を防ぎ、サブスクリプションに含まれる使用量を使用していることを確認できます。
特定のAPIキーを時々使用する必要がある場合は、必要な時だけ一時的に設定してください。
Claude Codeで定期的に/statusを実行して、現在の認証方法を確認してください。
認証競合警告
Claude Codeは、認証済みサブスクリプションと環境変数APIキーの間に競合がある場合に通知します:
初期セットアップ中に、環境変数でAPIキーが検出された場合、Claude Codeはどの認証方法を使用するかを確認するよう求めます。
ログインに成功した後、両方の認証情報がアクティブな場合は通知が表示され、予期しないAPI料金の可能性について警告します。
現在の設定を確認する
APIキーが環境変数として設定されているかどうかを確認するには、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キーを一時的に設定する
現在のターミナルセッションのみでAPIキーを使用する必要がある場合:
macOS/Linux:
export ANTHROPIC_API_KEY='your-api-key-here'
Windows CMD:
set ANTHROPIC_API_KEY=your-api-key-here
Windows PowerShell:
$env:ANTHROPIC_API_KEY="your-api-key-here"
APIキー環境変数を永続的に設定する
macOS/Linux:
zsh(macOSのデフォルト)の場合: bash # シェル設定ファイルに追加 echo 'export ANTHROPIC_API_KEY="your-api-key-here"' >> ~/.zshrc# 変更を適用 source ~/.zshrc bashの場合: bash # シェル設定ファイルに追加 echo 'export ANTHROPIC_API_KEY="your-api-key-here"' >> ~/.bash_profile# 変更を適用 source ~/.bash_profile
Windows:
システムプロパティ → 詳細設定 → 環境変数を開く
「ユーザー変数」で「新規」をクリック
変数名:ANTHROPIC_API_KEY
変数値:your-api-key-here
「OK」をクリックしてターミナルを再起動
APIキー環境変数を削除する
macOS/Linux(一時的):
unset ANTHROPIC_API_KEY
macOS(永続的):
# 設定ファイルから削除 sed -i '' '/ANTHROPIC_API_KEY/d' ~/.zshrc source ~/.zshrc
Linux(永続的)
sed -i '/ANTHROPIC_API_KEY/d' ~/.zshrc
Windows CMD:
set ANTHROPIC_API_KEY=
Windows PowerShell:
Remove-Item Env:ANTHROPIC_API_KEY
Windows(永続的):システム環境変数設定から変数を削除してください。
避けるべき一般的な問題
シェル設定ファイルで環境変数を設定して、それを忘れてしまう。
環境変数を変更した後、ターミナルを再起動しない。
環境でAPIキーが設定されている場合、サブスクリプションを使用していると仮定する。
ご質問がある場合は、サポートチームにお問い合わせください。
