SSD Nodes Learn Hosting plans →
指南 Matt Connor作者: Matt Connor · 已更新 2026-09-05

Claude Code 登入:訂閱還是 API key?

Claude 訂閱與 Anthropic API key 是不同帳戶、不同帳單。了解 Claude Code 工作階段使用哪種憑證,並查看如何切換登入方式。

Claude Code 工作階段使用哪個憑證?

Claude Code 登入有兩種方式。您可以使用 claude.ai 的 Claude 訂閱帳戶登入,也可以向 Anthropic Console 組織進行驗證;此時每個 token 都會計入該組織的 API(application programming interface)餘額。請在執行中的工作階段內執行 /status,查看目前使用哪一種方式:Status 分頁會顯示您登入帳戶的 Login method 列;若由 API key 提供憑證,還會額外顯示 API key 列。

至於該工具是否包含在您的方案中,則是另一個問題,請參閱Claude Code 是否包含在 Claude Pro 訂閱中;Claude API 的金鑰運作方式則請參閱Claude API 驗證的運作方式。以下內容不涵蓋這兩個主題,而是說明工作階段實際選用了哪個憑證,以及如何變更憑證。

以下行為來自 Anthropic 的 Claude Code 驗證文件,文件查閱日期為 31 August 2026。Claude Code 經常發布新版本,其中數項行為要求最低版本,因此請先執行 claude --version,再判斷問題是否出在您的電腦。

可共用同一個電子郵件地址的兩個帳戶

claude.ai 帳戶與 platform.claude.com 上的 Claude Console 帳戶是不同的帳戶。兩者可以使用相同的電子郵件地址,但仍是分開登入、擁有不同餘額,且隸屬於不同組織。建立其中一個帳戶不會同時建立另一個帳戶。購買 Max 方案不會為 Console 組織增加額度,為 Console 組織加值也不會增加方案額度。

餘額不同,是因為兩者採用不同的計費模式。訂閱登入會使用方案的用量額度,額度依 5 小時滾動視窗與每週視窗重設,且與網頁版 Claude 共用。Console 憑證則依 token 用量向組織計費,正式數據以 Console usage 頁面為準。這項差異對實際工作的費用影響,請參閱按 token 計費與訂閱付費的比較

其中一種帳戶類型完全不能使用訂閱登入方式。Anthropic 列出的可登入帳戶包括 Pro 或 Max 訂閱、Claude for Teams 或 Enterprise 席位、Claude Console 帳戶,以及雲端服務供應商。免費 claude.ai 帳戶不在清單中,因此免費方案使用者沒有可用於登入的訂閱憑證,而免費 Claude 方案包含與不包含的內容也不涵蓋命令列工具。剩下的選項是使用具備 API 額度的 Console 組織;這是另一種形式的付費帳戶。

路徑一:使用 Claude 訂閱登入

在專案目錄中執行 claude。首次啟動時,程式會開啟瀏覽器視窗,讓您使用持有方案的 claude.ai 帳戶登入。

claude

在伺服器上,有兩種情況的行為不同。如果瀏覽器沒有開啟,請按 c,將登入 URL 複製到剪貼簿,再貼到自己電腦上的瀏覽器。如果該瀏覽器顯示登入碼,而不是將您導回終端機,請把登入碼貼回提示輸入的位置。在 SSH(secure shell)、WSL2 及容器中,第二種情況屬於正常現象,因為瀏覽器無法連線到 Claude Code 在遠端電腦上啟動的本機 callback server。

登入完成後,請確認登入狀態,不要直接假設已成功。啟動工作階段並執行 /status。Status 分頁會列出登入方式,以及儲存的組織與電子郵件地址。/login 會使用另一個帳戶重新執行登入流程,/logout 會移除已儲存的憑證。登出也會重設首次執行的設定狀態,因此下一次執行 claude 時,會再次引導您完成 onboarding。

重新建立伺服器或移交伺服器時,了解憑證的儲存位置很重要:

  • Linux:~/.claude/.credentials.json,檔案模式為 0600
  • macOS:加密的 Keychain。Keychain 拒絕寫入時(例如 SSH 工作階段中 Keychain 已鎖定),Claude Code 會改用相同的 0600 檔案。
  • Windows:%USERPROFILE%\.claude\.credentials.json,由 profile directory 本身的存取控制限制為僅供您的使用者存取。
  • 設定 CLAUDE_CONFIG_DIR 的任何平台:檔案會移至該目錄下,macOS Keychain 項目也會以此目錄為識別依據,因此使用不同 CLAUDE_CONFIG_DIR 啟動的工作階段會讀取不同的憑證。

Claude Code 會透過 /login/logout 管理該檔案。不支援直接手動編輯檔案來切換帳戶。

路徑二:對 Console 組織進行驗證

Console 存取權限由管理員開始設定。管理員會在 Console 中依序選取 Settings、Members 和 Invite 來邀請您,也會指派角色:Claude Code 角色只能建立 Claude Code API keys,Developer 角色則可建立任何 key。接著,您會在 /login 提示中選取 Anthropic Console 帳戶。

從 Claude Code v2.1.242 開始,Console 提供兩種路徑,且儲存的內容不同。使用 Console 帳戶登入時,Claude Code 會保留該瀏覽器登入所取得的 OAuth(開放授權)token,並將其儲存為 Anthropic profile,完全不建立 API key。Claude Code 會自行更新這項登入資訊;更新失敗時,請求會失敗,直到您再次登入為止。建立 API key 時,提示會將其標示為 legacy。此操作會建立 Console key,並將其與其他憑證一同儲存。靜態 key 不會自動更新,因此在有人撤銷前都能持續運作。這對建置伺服器很實用,但在筆記型電腦上則會增加風險。

開始不使用 key 的 Console 登入前,請先取消設定 ANTHROPIC_API_KEY。若設定了這個變數,Claude Code 會完全略過登入提示,改為要求您核准它找到的 key。

您不一定能選擇登入方式。當工作階段使用雲端供應商、任何設定檔設定了 forceLoginOrgUUID、將 forceLoginMethod 固定為 "claudeai""console",或機器上存在受管理的設定來源而 Claude Code 無法讀取時,Claude Code 會在不詢問的情況下建立 key。這些都是管理員的決策;如果您始終看不到不使用 key 的選項,請詢問負責管理該伺服器群組的人員。/status 也會輸出 Setting sources 行,列出工作階段載入的每個設定檔;若有適用的受管理來源,也會列出該來源。

您第一次對 Console 組織驗證 Claude Code 時,Console 會為其建立名為 "Claude Code" 的工作區。建立此工作區是為了集中追蹤 Claude Code 的支出,而且您無法在其中建立 API keys。

登入後為何 ANTHROPIC_API_KEY 會優先使用

Claude Code 不會詢問您想使用哪個認證。它會按照固定順序檢查各個來源,並採用找到的第一個來源。根據 2026 年 8 月的文件,順序如下:

  1. 設定 CLAUDE_CODE_USE_BEDROCKCLAUDE_CODE_USE_VERTEXCLAUDE_CODE_USE_FOUNDRY 時使用的雲端服務供應商認證。
  2. ANTHROPIC_AUTH_TOKEN,以 Authorization: Bearer 標頭傳送,供使用 bearer token 進行驗證的 gateway 使用。
  3. ANTHROPIC_API_KEY,以 X-Api-Key 標頭傳送。
  4. 設定檔中指定的 apiKeyHelper script 輸出。
  5. CLAUDE_CODE_OAUTH_TOKEN,來自 claude setup-token 的長期 token。
  6. Anthropic profile 與 federation 認證。
  7. /login 寫入的 subscription 認證。

您的 subscription 登入認證排在最後。因此,只要程序環境中的任何位置匯出了 ANTHROPIC_API_KEY,它就會優先於您登入的帳戶。此工作階段會將費用計入 Console organisation,而您以為它使用的是自己的方案。這不是故障。執行順序符合文件說明,因此系統不會顯示警告。

有兩個細節容易造成忽略。在互動式工作階段中,Claude Code 會詢問一次是否使用找到的 key,並記住您的選擇。因此,您一個月前做的選擇今天仍然有效。在搭配 -p 的非互動模式中,系統完全不會提示;只要 key 存在,就一定會使用。-p 是 cron job 或 CI(continuous integration)步驟執行時使用的模式,因此無人值守的工作最容易長時間使用錯誤的認證而未被發現。

您可以在工作階段中快速目視確認。設定 ANTHROPIC_API_KEY 時,/config 會顯示「使用自訂 API key」切換開關。只有在設定此變數時才會顯示該開關,因此看不到開關就表示環境已清除。

在伺服器上找出遺留的 key

匯出的 key 可能存在於比 shell 設定檔更多的位置:

  • ~/.bashrc~/.bash_profile~/.profile~/.zshrc。每個新的 login shell 都會讀取這些檔案。
  • systemd unit 透過 Environment=EnvironmentFile= 設定的環境。這適用於以服務方式執行的程式。
  • tmux server 會保留啟動時使用的環境副本。即使你上週已從設定檔刪除某個變數,今天開啟的 pane 仍可能繼承該變數,因為 server 在編輯前就已經執行。
  • container image 或 CI job 定義。其中的變數可能是在 shell 內無法讀取的檔案以外設定。
  • Claude Code settings 檔案中的 env 區塊。這是一般的 settings key,並遵循標準的 settings 優先順序。

在進行其他操作前,先檢查這些位置:

[ -n "$ANTHROPIC_API_KEY" ] && echo "ANTHROPIC_API_KEY is set" || echo "not set"
env | grep -E '^(ANTHROPIC_|CLAUDE_CODE_)' | cut -d= -f1
grep -n 'ANTHROPIC_API_KEY' ~/.bashrc ~/.bash_profile ~/.profile ~/.zshrc 2>/dev/null
tmux show-environment 2>/dev/null | grep ANTHROPIC
grep -n 'ANTHROPIC_API_KEY\|apiKeyHelper' ~/.claude/settings.json .claude/settings.json .claude/settings.local.json 2>/dev/null

第二個命令會刻意透過 cut,因此只會輸出變數名稱,不會將 secret 值顯示在可能正在分享或錄製的畫面上。第一個命令會直接判定結果:如果顯示已設定該變數,接著從此 shell 啟動的 claude 就會使用該 key。五個位置都沒有輸出,表示環境中不存在憑證,因此從此處啟動的 session 會改用你的 /login 憑證。

對任何執行 Claude Code 的服務加入 systemctl cat your-unit.service | grep -i environment,因為 unit file 會設定自己的環境,且不會讀取你的 shell 設定檔。

將工作階段從一組憑證切換至另一組

若要切換回訂閱帳戶:

unset ANTHROPIC_API_KEY
[ -n "$ANTHROPIC_API_KEY" ] && echo "still set" || echo "clear"
claude

等待 clear,然後在新的工作階段中執行 /status,確認 API key 列已消失。取消 shell 中的變數設定,對已在執行中的 Claude Code 程序沒有作用,因為程序會保留啟動時取得的環境。請重新啟動工作階段。

接著,從設定該變數的檔案中刪除 export,否則下一次登入 shell 會再次設定它。在 tmux 中,tmux set-environment -u ANTHROPIC_API_KEY 會清除該工作階段中之後開啟的窗格所使用的變數;已經開啟的窗格仍保留各自的副本。

若要切換到另一個帳戶,請在環境中設定 ANTHROPIC_API_KEY,或執行 /login 並選取 Console 帳戶。若要完全清除已儲存的登入資訊,請執行 /logout。完成無金鑰的 Console 登入後,/logout 會移除並撤銷該次登入寫入的憑證。

如果 /status 仍與預期不符,請執行 claude doctor。此命令會列出 Claude Code 拒絕的設定項目,可用來找出解析失敗、因此完全未套用的設定檔。

無瀏覽器時進行驗證

claude setup-token 會開啟與 /login 相同的瀏覽器授權流程,並將效期一年的 OAuth token 顯示在終端機中。

claude setup-token

它不會將 token 儲存到任何位置,因此 token 出現時請立即複製。將它設為需要使用該 token 之機器上的 CLAUDE_CODE_OAUTH_TOKEN。此 token 會使用您的訂閱進行驗證,因此需要 Pro、Max、Team 或 Enterprise 方案,而且只能提出模型請求。Bare mode 不會讀取此 token,因此傳入 --bare 的腳本需要 ANTHROPIC_API_KEYapiKeyHelper

這裡同樣會受到優先順序影響。如果 CLAUDE_CODE_OAUTH_TOKEN 位於 shell profile 中,執行 /login 會將目前工作階段切換至新的登入狀態;在您移除該變數前,每個新工作階段都會再次讀取它。

如果您的組織透過 Amazon Bedrock、Google Cloud 或 Microsoft Foundry 執行推論,這些認證的優先順序最高,完全不會進行瀏覽器登入。相關設定是另一項工作,詳見 讓 Claude Code 連線至 Bedrock 或 Vertex

VPS(virtual private server)上的長時間工作階段最容易出現這些問題,因為啟動該工作階段的 shell 可能在數月前完成設定,此後從未重新啟動。在 VPS 的 tmux 中執行 Claude Code 說明此設定的工作階段部分。

查看各項憑證實際消耗的內容

使用訂閱登入時,/usage 會顯示方案用量列,以及各項用量的消耗明細。其 Session 區塊中的美元金額,是根據 token 數量與牌價在本機計算而得。因此,應將其視為提供 API 使用者參考的估算值,而不是帳單金額。訂閱者應查看用量列,不要以美元金額為準。

使用 Console 憑證時,應以 Console 中的數據為準:用量頁面用於查看支出,Claude Code 儀表板則用於查看各成員的數據。終端機中顯示的任何內容,都不是該帳務的權威來源。

如果你工作期間方案用量列始終沒有變化,表示環境憑證在憑證優先順序中勝出。這個單一症狀是判斷目前使用錯誤憑證最可靠的依據,而追蹤 Claude Code 工作階段的支出會進一步說明如何測量。如果用量列先變化,之後停止,表示你已達到方案上限;Claude 用量限制與重設時間範圍的運作方式會對此進行說明。

失敗模式與檢查重點

所有功能都正常,但方案用量始終沒有變化。 環境憑證正在生效。/status 會顯示 API key 列,而上方的 shell 檢查也會顯示該變數。

訂閱狀態正常,但請求仍然失敗。 某個已停用或過期的 Console 組織所屬金鑰,其優先順序高於你的登入憑證。執行 unset ANTHROPIC_API_KEY,啟動新的工作階段,然後再次檢查 /status

啟動時顯示登入即將過期的警告。 新版會在 /login 憑證距離到期剩下三天內時發出警告,接著 /status 會將登入列顯示為已過期,並列出它記錄的組織與電子郵件地址。執行 /login 以更新憑證。這項警告不會封鎖請求,因此很容易被忽略,直到無人值守的工作階段停止執行。

apiKeyHelper 執行緩慢或失敗。 Claude Code 預設每五分鐘重新執行一次 helper,可使用 CLAUDE_CODE_API_KEY_HELPER_TTL_MS 調整間隔。若執行時間超過十秒,提示列會顯示通知。無論是發生錯誤或逾時,只要 helper 未回傳金鑰,請求就會在三次嘗試內失敗。

憑證正確,但組織錯誤。 一個電子郵件地址可能屬於兩個組織。/status 會列出完成驗證的組織,因此應讀取該列,不要自行假設登入的是哪個組織。

FAQ

如何判斷 Claude Code 目前使用哪個帳戶?

在工作階段中執行 /status。Status 分頁會顯示你登入帳戶的 Login method 列;如果憑證由 API key 提供,還會新增 API key 列。若改用 Anthropic profile 或 federation credential,則會以 Profile 列取代登入列。在工作階段外,檢查 shell 中是否設定 ANTHROPIC_API_KEY,即可判斷是否存在優先於登入憑證的環境憑證。

為什麼 Claude Pro 或 Max 訂閱會被忽略?

因為環境憑證的優先順序高於訂閱憑證。Claude Code 會依固定順序使用第一個找到的憑證,而 /login 訂閱憑證的優先順序最低,排在 cloud provider 變數、ANTHROPIC_AUTH_TOKENANTHROPIC_API_KEYapiKeyHelperCLAUDE_CODE_OAUTH_TOKEN 之後。執行 unset ANTHROPIC_API_KEY,啟動新的工作階段,再用 /status 確認。接著從設定該變數的 shell profile、systemd unit、tmux 環境或容器定義中移除該 export,否則下一次登入 shell 時它會再次出現。

可以使用免費 Claude 帳戶搭配 Claude Code 嗎?

不行。Anthropic 列出的登入帳戶類型包括 Pro 或 Max 訂閱、Claude for Teams 或 Enterprise seat、Claude Console 帳戶,以及 cloud provider。免費的 claude.ai 帳戶不在其中,因此 Claude Code 不會為它儲存訂閱憑證。若不使用訂閱,付費替代方案是使用具有 API credit 的 Claude Console organisation,按 token 計費。即使使用相同的電子郵件地址,這仍是不同的帳戶。

claude.ai 帳戶和 Console 帳戶共用同一筆餘額嗎?

不共用。兩者是不同帳戶,並分別計費,即使使用相同的電子郵件地址也是如此。訂閱用量會扣除方案額度,且與 Claude on the web 共用;額度會在 rolling five hour window 和 weekly window 中重設。Console 用量則按 token 向 organisation 計費,並顯示在 Console usage page。為其中一個帳戶增加 credit,不會影響另一個帳戶。

如何在無頭伺服器上驗證 Claude Code?

有兩種方式。透過 SSH 執行 claude,並在自己的電腦上完成瀏覽器登入:按 c 複製 URL,在瀏覽器中登入;如果瀏覽器顯示 code 而未重新導向,再將 code 貼回終端機。另一種方式是在具備瀏覽器的電腦上執行 claude setup-token,複製它輸出的 one-year token,然後在伺服器上將其設定為 CLAUDE_CODE_OAUTH_TOKEN。該 token 需要 Pro、Max、Team 或 Enterprise plan,且只能發出 model requests。因此,使用 --bare 的 script 需要 API key 或 apiKeyHelper