Claude Codeを使用する場合、予期しないAPI料金を回避し、意図したアカウントを使用していることを確認するために、認証方法の優先順位がどのように設定されているかを理解することが重要です。
認証の仕組み
Claude Codeは、認証済みサブスクリプションよりも環境変数のAPIキーを優先します。
これは、認証方法の選択に柔軟性を持たせるための意図的な動作です。
APIキーが環境変数として設定されている場合、そのキーに関連付けられたAPIアカウントを使用して、API従量課金制で課金されます。
これは、claude.aiサブスクリプションまたは別のConsoleアカウントでClaude Codeにログインしている場合でも発生します。
ベストプラクティス
Claude Codeをあなたのクラウドサブスクリプションで使用するには: ANTHROPIC_API_KEY環境変数を設定しないままにしてください。
これにより、予期しないAPI料金を防ぎ、サブスクリプションに含まれる使用量を使用していることを確認できます。
特定のAPIキーを時々使用する必要がある場合は、必要な時だけ一時的に設定してください。
Claude Codeで定期的に/statusを実行して、現在の認証方法を確認してください。
認証競合警告
認証済みサブスクリプションと環境変数のAPIキーの間に競合がある場合、Claude Codeは通知します:
初期セットアップ中に、環境変数で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:
For zsh (default on macOS):
bash
# Add to shell config file
echo 'export ANTHROPIC_API_KEY="your-api-key-here"' >> ~/.zshrc
# Apply changes
source ~/.zshrc
For bash:
bash
# Add to shell config file
echo 'export ANTHROPIC_API_KEY="your-api-key-here"' >> ~/.bash_profile
# Apply changes
source ~/.bash_profile
Windows:
システムプロパティを開く → 詳細 → 環境変数
「ユーザー変数」で「新規」をクリック
変数名:ANTHROPIC_API_KEY
変数値:your-api-key-here
OKをクリックしてターミナルを再起動
APIキー環境変数を削除する
macOS/Linux(一時的):
unset ANTHROPIC_API_KEY
macOS(永続的):
# Remove from config file
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キーが設定されている場合、サブスクリプションを使用していると想定する。
ご質問がある場合は、サポートチームにお問い合わせください。
