了解 Claude Code 中的身份驗證優先級
使用 Claude Code 時,了解身份驗證方法的優先級順序很重要,以避免意外的 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 金鑰時使用的是訂閱。
如有任何疑問,請聯絡我們的支援團隊。
