了解 Claude Code 中的身份驗證優先級
使用 Claude Code 時,了解身份驗證方法的優先級順序很重要,以避免意外的 API 費用,並確保您使用的是預期的帳戶。
重要提示:如果您的系統上設置了 ANTHROPIC_API_KEY 環境變數,Claude Code 將使用此 API 金鑰進行身份驗證,而不是您的 Claude.ai 訂閱(Pro、Max、Team 或 Enterprise),這將導致 API 使用費用,而不是使用您訂閱中包含的使用額度。
身份驗證的工作原理
Claude Code 優先使用環境變數 API 金鑰,而不是已驗證的訂閱。
這是有意設計的行為,旨在為您提供選擇身份驗證方法的靈活性。
當 API 金鑰設置為環境變數時,您將通過與該金鑰關聯的 API 帳戶按 API 隨用隨付費率收費。
即使您已使用 Claude.ai 訂閱或不同的 Console 帳戶登錄 Claude Code,也會發生這種情況。
最佳實踐
要使用 Claude Code 與您的 Claude 訂閱:保持 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:
對於 zsh(macOS 上的默認值):
bash
# 添加到 shell 配置文件
echo 'export ANTHROPIC_API_KEY="your-api-key-here"' >> ~/.zshrc
# 應用更改
source ~/.zshrc
對於 bash:
bash
# 添加到 shell 配置文件
echo 'export ANTHROPIC_API_KEY="your-api-key-here"' >> ~/.bash_profile
# 應用更改
source ~/.bash_profile
Windows:
打開系統屬性 → 高級 → 環境變數
在「用戶變數」下,點擊「新建」
變數名稱:ANTHROPIC_API_KEY
變數值:your-api-key-here
點擊確定並重新啟動您的終端
移除 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(永久):從系統環境變數設置中刪除該變數。
要避免的常見問題
在 shell 配置文件中設置環境變數後忘記它們。
更改環境變數後未重新啟動終端。
假設您在使用訂閱,而實際上環境中配置了 API 金鑰。
如有任何疑問,請
