登入 Claude Code
安裝 Claude Code 後,在您的終端機中執行claude。首次啟動時,Claude Code 會為您開啟瀏覽器視窗以供登入。如果您已設定 ANTHROPIC_API_KEY 環境變數,Claude Code 會略過登入提示,改為要求您核准該金鑰。
如果瀏覽器未自動開啟,請按 c 將登入 URL 複製到您的剪貼簿,然後將其貼到您的瀏覽器中。
如果您的瀏覽器在您登入後顯示登入代碼而不是重新導向回來,請將其貼到終端機的 Paste code here if prompted 提示符處。這在瀏覽器無法連接到 Claude Code 的本機回呼伺服器時發生,這在 WSL2、SSH 工作階段和容器中很常見。
登入完成時,終端機會顯示 Login successful,並提示您按 Enter 繼續。
您可以使用以下任何帳戶類型進行驗證:
- Claude Pro 或 Max 訂閱:使用您的 claude.ai 帳戶登入。在 claude.com/pricing 訂閱。
- Claude for Teams 或 Enterprise:使用您的團隊管理員邀請您的 claude.ai 帳戶登入。
- Claude Console:使用您的 Console 認證登入。您的管理員必須先 邀請您。您可以在有或沒有 建立 API 金鑰 的情況下登入。
- 雲端提供商:如果您的組織使用 Amazon Bedrock、Google Cloud 的 Agent Platform 或 Microsoft Foundry,請在執行
claude之前設定所需的環境變數,或在登入提示符處選擇 3rd-party platform,這會為 Bedrock 和 Vertex AI 啟動互動式設定精靈。不需要瀏覽器登入。 - 雲端閘道:如果您的組織執行自託管的 Claude 應用程式閘道,請透過
/login使用公司 SSO 登入。閘道簽發的權杖是工作階段的唯一認證。
/logout。登出也會重設您的首次啟動設定狀態,因此下次您執行 claude 時,它會再次引導您完成登入和設定。
若要同時保持登入多個帳戶(例如工作和個人帳戶),請為每個帳戶提供自己的設定目錄。當您啟動 claude 時,將 CLAUDE_CONFIG_DIR 環境變數設定為您要使用的帳戶的目錄。每個目錄都有自己的設定、工作階段歷史記錄和 claude.ai 登入或 API 金鑰。例如,在 Bash 或 Zsh 中,將此別名新增到 ~/.bashrc 或 ~/.zshrc,以便 claude-work 使用您的工作帳戶,而 claude 保留您的個人帳戶:
claude-work 後,Claude Code 會引導您完成新目錄的登入和設定。由於 Claude Code 將該類登入儲存在設定目錄外,單獨的目錄無法將兩個 Claude Console 登入 不使用 API 金鑰 分開。
如果您在登入時遇到問題,請參閱 驗證疑難排解。
設定團隊驗證
對於團隊和組織,您可以透過以下方式之一配置 Claude Code 存取:- Claude for Teams 或 Enterprise,建議用於大多數團隊
- Claude Console
- Claude apps gateway,一個自託管閘道,使用您的 IdP 簽署開發人員,並將推論路由到您配置的雲端提供商
- Amazon Bedrock
- Google Cloud’s Agent Platform
- Microsoft Foundry
Claude for Teams 或 Enterprise
Claude for Teams 和 Claude for Enterprise 為使用 Claude Code 的組織提供最佳體驗。團隊成員可以存取 Claude Code 和網頁版 Claude,並具有集中式帳單和團隊管理。- Claude for Teams:自助服務方案,具有協作功能、管理工具、SSO、帳單管理和 伺服器受管設定,用於組織範圍的 Claude Code 配置。最適合較小的團隊。
- Claude for Enterprise:新增網域擷取、角色型權限和合規性 API。最適合具有安全性和合規性要求的大型組織。
1
訂閱
訂閱 Claude for Teams 或聯絡銷售部門以取得 Claude for Enterprise。
2
邀請團隊成員
從管理儀表板邀請團隊成員。
3
安裝並登入
團隊成員安裝 Claude Code 並使用其 claude.ai 帳戶登入。
Claude Console 驗證
對於偏好基於 API 的帳單的組織,您可以透過 Claude Console 設定存取。1
建立或使用 Console 帳戶
使用您現有的 Claude Console 帳戶或建立新帳戶。
2
新增使用者
您可以透過以下任一方法新增使用者:
- 從 Console 內大量邀請使用者:Settings -> Members -> Invite
- 設定 SSO
3
指派角色
邀請使用者時,指派以下其中一個角色:
- Claude Code 角色:使用者只能建立 Claude Code API 金鑰
- Developer 角色:使用者可以建立任何類型的 API 金鑰
4
使用者完成設定
每個受邀使用者需要:
- 接受 Console 邀請
- 檢查系統要求
- 安裝 Claude Code
- 使用 Console 帳戶認證登入
不使用 API 金鑰登入
您可以不建立 API 金鑰而登入 Console 帳戶,即使您的組織不允許開發人員建立 API 金鑰。在/login 提示時選擇 Anthropic Console 帳戶,Claude Code 會詢問您想如何登入。需要 Claude Code v2.1.242 或更新版本。兩種路由都會在瀏覽器中將您登入 Console,但在 Claude Code 之後儲存的內容不同:
- 使用您的 Console 帳戶登入,標記為
(recommended):Claude Code 保留該登入的 OAuth 權杖,並將其儲存為 Anthropic 設定檔。它不建立 API 金鑰 - 建立 API 金鑰,標記為
(legacy):Claude Code 為您建立 Console API 金鑰,並將其與您的其他認證一起儲存
- 您針對雲端提供商執行,例如 Amazon Bedrock、Google Cloud’s Agent Platform 或 Microsoft Foundry 或 Claude Platform on AWS
- 任何設定檔設定
forceLoginOrgUUID,或將forceLoginMethod設定為"claudeai"或"console" - 您機器上存在受管設定來源(例如受管設定檔、MDM 設定檔或快取的伺服器受管設定),但 Claude Code 無法讀取它,且沒有其他受管來源提供原則
ANTHROPIC_API_KEY。
在不使用金鑰登入後,您有一個設定檔而不是儲存的 API 金鑰:
- 它寫入的設定檔:Claude Code 寫入由
ANTHROPIC_PROFILE命名的設定檔、您的作用中設定檔或default。如果該設定檔是聯盟設定檔,Claude Code 會拒絕登入而不是覆寫它 - 它簽出的內容:Claude Code 簽出儲存在機器上的任何 claude.ai 登入
- 如何復原它:執行
/logout,它會移除並撤銷此登入寫入的認證
/status 中獲得的 Profile 列,以及需要 claude.ai 登入的功能。請參閱 Anthropic 設定檔和聯盟認證。
雲端提供商驗證
對於使用 Amazon Bedrock、Google Cloud’s Agent Platform 或 Microsoft Foundry 的團隊:2
分發配置
將環境變數和產生雲端認證的說明分發給您的使用者。深入瞭解如何 在此管理配置。
3
安裝 Claude Code
使用者可以 安裝 Claude Code。
限制登入到您的組織
若要要求開發人員的 claude.ai 登入屬於特定的 Anthropic 組織,請在 受管設定 中設定forceLoginMethod 和 forceLoginOrgUUID。將 forceLoginOrgUUID 設定為您的組織 ID,該 ID 顯示在 claude.ai 管理設定 中,適用於 Claude for Teams 或 Enterprise 組織。Claude Code 會針對任何其他組織的 claude.ai 登入報告錯誤,如果使用中的 claude.ai 認證屬於未列出的組織,則在啟動時退出。
對於 Claude Console 登入,Claude Code 使用 forceLoginOrgUUID 在您將其設定為單一 Console 組織 ID 時在 Console 登入頁面上預先選擇組織,該 ID 顯示在 platform.claude.com/settings/organization。它不檢查產生的 Console 認證屬於哪個組織,無論是在登入時還是在啟動時。使用 Console 帳戶登入的開發人員在您部署金鑰之前會保持登入狀態,該儲存的金鑰在同時需要 閘道 登入的機器上或在選擇雲端提供商的工作階段中會被阻止。
如果您在任何設定檔中設定 forceLoginOrgUUID,Claude Code 會停止在該檔案適用的工作階段中提供 無金鑰 Console 登入,並改為建立 API 金鑰。若要將開發人員導向 claude.ai 登入,請將 forceLoginMethod 設定為 "claudeai"。
在 Claude Code v2.1.212 或更新版本上,此處列出的每個登入路徑都套用 forceLoginMethod。在終端機的互動式登入畫面上,透過 /login 或首次執行上線到達,Claude Code 預先選擇 claudeai 或 console 方法而不強制執行,因此即使 forceLoginMethod 設定為 "claudeai",開發人員仍然可以在那裡完成 Console 登入。
路徑在 forceLoginOrgUUID 上有所不同:
- 終端機、VS Code 擴充功能 和 Agent SDK 登入:驗證 claude.ai 帳戶登入的
forceLoginOrgUUID claude setup-token和/install-github-app:僅強制執行forceLoginMethod,因此它們可以在不同的組織中鑄造權杖- 閘道 登入:由
forceLoginMethod: "gateway"選擇而不是受其限制,並且不針對 Anthropic 組織進行驗證,因此forceLoginOrgUUID不適用;使用您的閘道身分提供者來限制存取
forceLoginOrgUUID 和 forceLoginMethod 的 "claudeai" 和 "console" 值不在這些例外中,因此請將它們保留在兩個位置。
在 閘道 部署中,也請將 forceLoginMethod 和 forceLoginOrgUUID 保留在 閘道提供的設定 之外。
金鑰也決定不使用登入認證的工作階段是否可以啟動。請參閱設定參考中的 forceLoginOrgUUID 以了解完整行為。
ANTHROPIC_API_KEY、ANTHROPIC_AUTH_TOKEN或apiKeyHelper:在啟動時被阻止。在forceLoginOrgUUID下,無法驗證環境認證的組織成員資格,在forceLoginMethod下,認證會代替所需的登入。當受管設定也需要 閘道 登入時,Claude Code 會以相同方式阻止由較早的 Claude Console 登入儲存的 API 金鑰。請參閱 管理員原則需要雲端閘道登入- 雲端提供商工作階段,例如 Amazon Bedrock:僅在
ANTHROPIC_API_KEY、ANTHROPIC_AUTH_TOKEN或apiKeyHelper認證,或由較早的 Claude Console 登入儲存的 API 金鑰仍然存在於機器上時被阻止。移除它,工作階段就會啟動。這些工作階段針對您的雲端提供商進行驗證,其存取原則管理它們 - Anthropic 設定檔或聯盟認證:除非
ANTHROPIC_API_KEY、ANTHROPIC_AUTH_TOKEN或apiKeyHelper認證,或由較早的 Claude Console 登入儲存的 API 金鑰也存在於機器上,否則不會被阻止。金鑰不檢查設定檔屬於哪個組織
認證管理
Claude Code 安全地管理您的驗證認證:- 儲存位置:
- 在 macOS 上,認證儲存在加密的 macOS Keychain 中。當 Keychain 拒絕寫入時,例如在 SSH 工作階段中被鎖定時,Claude Code 會改為將您的登入儲存在
~/.claude/.credentials.json中,檔案模式為0600,這與它在 Linux 上使用的儲存方式相同。使用建立 API 金鑰的 Console 登入會失敗,直到 Keychain 可寫入。若要將您的登入移回 Keychain,請遵循復原步驟。 - 在 Linux 上,認證儲存在
~/.claude/.credentials.json中,檔案模式為0600。 - 在 Windows 上,認證儲存在
%USERPROFILE%\.claude\.credentials.json中,並繼承您的使用者設定檔目錄的存取控制,預設情況下將檔案限制為您的使用者帳戶。 - 如果您設定了
CLAUDE_CONFIG_DIR環境變數,Claude Code 會將.credentials.json檔案保存在該目錄下,包括 macOS 後備寫入的檔案,並將 macOS Keychain 項目也鍵入該目錄,因此具有不同CLAUDE_CONFIG_DIR的工作階段會讀取不同的項目。 - Claude Code 透過
/login和/logout管理.credentials.json。若要透過自訂 API 端點路由請求,請改為設定ANTHROPIC_BASE_URL環境變數。
- 在 macOS 上,認證儲存在加密的 macOS Keychain 中。當 Keychain 拒絕寫入時,例如在 SSH 工作階段中被鎖定時,Claude Code 會改為將您的登入儲存在
- 支援的驗證類型:claude.ai 認證、Claude API 認證、Microsoft Foundry Auth、Bedrock Auth、Vertex Auth、Anthropic 設定檔和 Workload Identity Federation 認證,以及 Claude apps gateway 工作階段令牌。
- 自訂認證指令碼:設定
apiKeyHelper設定以執行傳回 API 金鑰的 shell 指令碼。 - 重新整理間隔:請參閱
apiKeyHelper以了解 Claude Code 重新執行協助程式的情況。 - 緩慢協助程式通知:如果
apiKeyHelper花費超過 10 秒的時間傳回金鑰,Claude Code 會在提示符列中顯示警告通知,顯示經過的時間。如果您經常看到此通知,請檢查您的認證指令碼是否可以最佳化。 - 協助程式失敗:當指令碼以錯誤結束、逾時或不列印任何內容時,請求在三次嘗試內失敗,並顯示
Your apiKeyHelper script is failing。
apiKeyHelper、ANTHROPIC_API_KEY 和 ANTHROPIC_AUTH_TOKEN 適用於 CLI 和包裝它的介面,包括 VS Code 擴充功能、Agent SDK 和 GitHub Actions。Claude Desktop 和雲端工作階段不會呼叫 apiKeyHelper 或讀取這些環境變數:它們使用 OAuth,除了執行第三方推論配置的桌面工作階段外,該工作階段使用該配置的認證進行驗證。
續約即將過期的登入
當您使用/login 建立的登入在三天內即將過期時,Claude Code 會在啟動時顯示警告:Your login expires in 3 days · run /login to renew。
執行 /login 以續約。警告僅供參考,永遠不會阻止請求:驗證會持續運作,直到登入實際過期。
一旦儲存的登入過期且無法重新整理,每個模型請求都會失敗,並顯示 Login expired · Please run /login,直到您再次登入。
您可以在請求失敗之前檢查此狀態:/status 顯示 Login 列讀取 Expired — log in again,加上它為過期登入儲存的組織和電子郵件。該列僅在儲存的 claude.ai 登入是有效認證時出現。該列需要 Claude Code v2.1.210 或更新版本。
警告僅在 claude.ai 登入是有效認證時出現,而不是在雲端提供商、ANTHROPIC_API_KEY、ANTHROPIC_AUTH_TOKEN 或 apiKeyHelper 提供認證時出現。
對於執行無人值守的工作階段,提前續約最為重要。在代理檢視中的背景工作階段或遠端控制工作階段一旦超過登入生命週期,一旦認證過期就會停止進行,在您再次登入之前無法復原。
驗證優先順序
當存在多個認證時,Claude Code 按此順序選擇一個:- 雲端提供商認證,當設定了
CLAUDE_CODE_USE_BEDROCK、CLAUDE_CODE_USE_VERTEX或CLAUDE_CODE_USE_FOUNDRY時。請參閱第三方整合以取得設定。 ANTHROPIC_AUTH_TOKEN環境變數。作為Authorization: Bearer標頭傳送。當透過LLM 閘道或代理路由時使用此選項,該閘道或代理使用持有人令牌而不是 Anthropic API 金鑰進行驗證。ANTHROPIC_API_KEY環境變數。作為X-Api-Key標頭傳送。用於直接 Anthropic API 存取,使用來自 Claude Console 的金鑰。在互動模式下,系統會提示您一次以核准或拒絕金鑰,您的選擇會被記住。若要稍後變更,請使用/config中的「使用自訂 API 金鑰」切換。該切換僅在ANTHROPIC_API_KEY在您的環境中設定時出現。在非互動模式 (-p) 中,當金鑰存在時始終使用該金鑰。apiKeyHelper指令碼輸出。用於動態或輪換認證,例如從保管庫擷取的短期令牌。CLAUDE_CODE_OAUTH_TOKEN環境變數。由claude setup-token產生的長期 OAuth 令牌。用於 CI 管道和指令碼,其中瀏覽器登入不可用。如果您在設定變數時執行/login,Claude Code 會將目前工作階段切換到新登入,但會在每個新工作階段中再次讀取變數,直到您從 shell 設定檔或設定檔的env區塊中移除它。- Anthropic 設定檔和聯盟認證,
antCLI 和 Workload Identity Federation 使用的認證。ant auth login寫入的設定檔僅在您在ANTHROPIC_PROFILE中命名它時才排名在此處;否則它排名在/login下方。請參閱 Anthropic 設定檔和聯盟認證。 - 來自
/login的訂閱 OAuth 認證。這是 Claude Pro、Max、Team 和 Enterprise 使用者的預設值。
CLAUDE_CODE_USE_BEDROCK、CLAUDE_CODE_USE_VERTEX 或 CLAUDE_CODE_USE_FOUNDRY,上面的持有人令牌、API 金鑰、apiKeyHelper 和設定檔等認證來源也不會被使用。
如果您機器的受管設定將 forceLoginMethod 設定為 "gateway" 或設定 forceLoginGatewayUrl,且您未透過 CLAUDE_CODE_USE_BEDROCK 或 CLAUDE_CODE_USE_VERTEX 等變數選擇雲端提供商,您的工作階段僅使用閘道登入。Claude Code 會跳過其他認證來源,並要求您使用 /login 登入。請參閱系統管理員原則需要雲端閘道登入以了解您在每個剩餘認證中看到的內容。需要 Claude Code v2.1.261 或更新版本,或在僅設定 forceLoginGatewayUrl 的機器上需要 v2.1.265 或更新版本。
如果您有有效的 Claude 訂閱,但您的環境中也設定了 ANTHROPIC_API_KEY,則 API 金鑰在核准後優先。如果金鑰屬於已停用或過期的組織,這可能會導致驗證失敗。
執行 unset ANTHROPIC_API_KEY 以回退到您的訂閱,並檢查 /status 以確認哪種方法處於活動狀態。當登入和 API 金鑰都已設定時,/status 會標記未使用的認證。
雲端工作階段始終使用您的訂閱認證。如果您在雲端環境中設定 ANTHROPIC_API_KEY 或 ANTHROPIC_AUTH_TOKEN,它不會覆蓋您的訂閱認證。
Anthropic 設定檔和聯盟認證
設定檔是您的 Anthropic 設定目錄中的具名認證設定檔,在 macOS 和 Linux 上預設為~/.config/anthropic,在 Windows 上為 %APPDATA%\Anthropic。當您為 Workload Identity Federation (WIF) 設定設定檔時,其驗證模式為 oidc_federation,或當 ant auth login 寫入它或您在沒有 API 金鑰的情況下登入 Console 帳戶時為 user_oauth。
Claude Code 不會在裸模式、Claude Desktop 或雲端工作階段中讀取設定檔或聯盟變數。在這些工作階段中,/status 不顯示 Profile 列。
Claude Code 按此順序檢查三個來源,並在第一個設定的來源處停止。該表格顯示設定每個來源的內容以及它相對於您的 /login 認證的排名。
對於聯盟變數,Claude Code 在交換您的身份令牌時也會讀取 WIF 參考中的其他變數,例如
ANTHROPIC_IDENTITY_TOKEN_FILE。對於設定檔檔案格式,請參閱 WIF 參考。
若要確認 Claude Code 選擇了哪個來源,請執行 /status。Profile 列會命名來源以代替 Login method 列,當設定檔是使用中的認證時,Organization 和 Email 列會顯示其帳戶。
當 user_oauth 設定檔的登入已過期且 Claude Code 無法重新整理它時,請求會失敗,並顯示 Anthropic profile login expired。
需要您的 claude.ai 登入的功能,例如 claude.ai connectors 和 /schedule,在選擇這些來源之一時不可用。若要停止 Claude Code 選擇來源:
- 具名設定檔或聯盟變數:取消設定
ANTHROPIC_PROFILE,或取消設定任一聯盟變數 - 有效設定檔:對於您透過在沒有 API 金鑰的情況下登入 Console 帳戶寫入其目前認證的
user_oauth設定檔執行/logout,對於ant auth login寫入其目前認證的設定檔執行ant auth logout,或對於任一驗證模式從您設定目錄中的configs/刪除設定檔的檔案
產生長期令牌
對於 CI 管道、指令碼或其他互動式瀏覽器登入不可用的環境,使用claude setup-token 產生一年期 OAuth 令牌:
/login 相同的瀏覽器授權流程,在您在瀏覽器中核准存取後,令牌會列印到終端機。它不會將令牌儲存在任何地方;複製它並將其設定為您想要驗證的任何地方的 CLAUDE_CODE_OAUTH_TOKEN 環境變數:
- macOS, Linux, WSL
- Windows PowerShell
- Windows CMD
CLAUDE_CODE_OAUTH_TOKEN。如果您的指令碼傳遞 --bare,請改用 ANTHROPIC_API_KEY 或 apiKeyHelper 進行驗證。