メインコンテンツにスキップ

Claude コードにおける API キー環境変数の管理

昨日アップデートされました

Claude Codeの認証優先度を理解する

Claude Codeを使用する場合、予期しないAPI料金を回避し、意図したアカウントを使用していることを確認するために、認証方法の優先度がどのように機能するかを理解することが重要です。

重要: システムにANTHROPIC_API_KEY環境変数が設定されている場合、Claude CodeはこのAPIキーを使用して認証を行い、Claude.aiサブスクリプション(Pro、Max、Team、またはEnterprise)の代わりにAPIキーで認証されるため、サブスクリプションに含まれる使用量ではなくAPI使用料が発生します。

認証の仕組み

  • Claude Codeは環境変数APIキーを認証済みサブスクリプションより優先します。

  • これは認証方法の選択に柔軟性を持たせるための意図的な動作です。

  • APIキーが環境変数として設定されている場合、そのキーに関連付けられたAPIアカウントを使用してAPI従量課金制レートで課金されます。

  • これはClaude Codeにclaude.aiサブスクリプションまたは別のConsoleアカウントでログインしている場合でも発生します。

ベストプラクティス

Claude CodeをあなたのClaudeサブスクリプションで使用するには: ANTHROPIC_API_KEY環境変数を設定しないままにしてください。

  • これにより予期しないAPI料金を防ぎ、サブスクリプションに含まれる使用量を使用していることを確認できます。

  • 特定のAPIキーを時々使用する必要がある場合は、必要な時だけ一時的に設定してください。

  • Claude Codeで定期的に/statusを実行して、現在の認証方法を確認してください。

認証競合警告

Claude Codeは、認証済みサブスクリプションと環境変数APIキーの間に競合がある場合に通知します:

  1. 初期セットアップ中に、環境変数でAPIキーが検出された場合、Claude Codeはどの認証方法を使用するかを確認するよう求めます

  2. ログインに成功した後、両方の認証情報がアクティブな場合は通知が表示され、予期しない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:

  1. システムプロパティ → 詳細設定 → 環境変数を開く

  2. 「ユーザー変数」で「新規」をクリック

  3. 変数名: ANTHROPIC_API_KEY

  4. 変数値: your-api-key-here

  5. 「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キーが設定されている場合、サブ

こちらの回答で解決しましたか?