命令字典
Slash 命令、CLI 子命令、Hook 事件、启动参数的字典与演进史。
Slash 命令、CLI 子命令、Hook 事件、启动参数的字典与演进史。
登录 Anthropic 账户
claude auth loginclaude auth loginclaude auth login 是 Claude Code CLI auth 子命令组的登录入口,触发浏览器 OAuth 流程,将凭据写入本地凭据存储(macOS Keychain / Linux ~/.claude/.credentials.json / Windows %USERPROFILE%\.claude\.credentials.json)。
自 v2.1.126(2026-04-27 发布)起,当浏览器回调无法到达本地端口时(WSL2、SSH 远程会话、容器),该命令也接受从 标准输入 直接粘贴 OAuth 授权码来完成登录,同一版本还修复了慢速网络和 IPv6-only devcontainer 中的登录超时问题。
官方文档列出可用于登录的账户类型如下。注意:账户类型由"用哪种凭据登录"决定,官方文档并未记录 --console / --sso / --email 等命令行 flag —— 登录时直接用对应账户的凭据即可,无需专用 flag。
| 账户类型 | 适用场景 |
|---|---|
| Claude Pro / Max 订阅 | 用 Claude.ai 账户登录,个人最常见 |
| Claude for Teams / Enterprise | 用团队管理员邀请你加入的 Claude.ai 账户登录;Enterprise 提供 SSO |
| Claude Console 账户 | 通过 Console 做 API 计费的组织,需管理员先邀请;在 platform.claude.com 用 Console 凭据登录 |
| 云提供商(Bedrock / Vertex AI / Foundry) | 设置环境变量认证,无需浏览器登录 |
claude auth login
官方推荐的入口实际是直接运行 claude:首次启动会打开浏览器登录;浏览器没自动打开时按 c 复制登录 URL,浏览器若显示登录码则粘回终端 Paste code here if prompted 处(WSL2、SSH、容器中常见)。退出重登用 /logout。
早期版本的本指南曾列出
--console/--sso/--print-url等 flag,但官方 authentication 与 CLI 文档中均无这些 flag 的记录,已移除。需要选择账户类型时,用对应凭据登录即可。
WSL2 / SSH / 容器中浏览器无法打开时的推荐写法:
# 1. 运行命令,等待终端输出 OAuth URL
claude auth login
# 2. 在本地浏览器中打开该 URL 并完成授权
# 3. 浏览器跳转失败时,页面上会显示一次性授权码 —— 粘贴回终端
或手动复制 URL:
# 在命令交互提示出现后,按 c 复制 OAuth URL 到剪贴板
# 再在本地浏览器粘贴打开
CI/CD 环境 中不应使用 claude auth login(需要浏览器交互)。非交互式管道应改用:
# 生成一年期 OAuth token(交互一次,之后用于 CI)
claude setup-token
# 在 CI 中设置环境变量
export CLAUDE_CODE_OAUTH_TOKEN=your-long-lived-token
CLAUDE_CODE_OAUTH_TOKEN适用于 Pro / Max / Teams / Enterprise 订阅,仅作用于推理请求,不能建立 Remote Control 会话。使用--bare模式的脚本请改用ANTHROPIC_API_KEY。
claude auth login(CLI) | /login(REPL slash 命令) | |
|---|---|---|
| 运行位置 | shell,无需先启动 Claude Code | Claude Code 交互会话内 |
| 典型场景 | 首次登录、WSL2/SSH 登录失败后重试 | 会话中途切换账号、token 过期后刷新 |
| 粘贴授权码 | 从 stdin 读取 | 从 REPL 输入框读取 |
| 登出 | claude auth logout | /logout |
当多种凭据同时存在时,Claude Code 按以下顺序选择(序号越小优先级越高):
| 优先级 | 凭据来源 | 说明 |
|---|---|---|
| 1 | 云提供商环境变量 | CLAUDE_CODE_USE_BEDROCK / _VERTEX / _FOUNDRY |
| 2 | ANTHROPIC_AUTH_TOKEN | Bearer Token,适用于 LLM 网关 |
| 3 | ANTHROPIC_API_KEY | 直接 API 访问 |
| 4 | apiKeyHelper 脚本 | 动态 / 轮换凭据 |
| 5 | CLAUDE_CODE_OAUTH_TOKEN | 长效 OAuth token(claude setup-token 生成) |
| 6 | 订阅 OAuth 凭据 | claude auth login 写入的默认凭据 |
apiKeyHelper、ANTHROPIC_API_KEY、ANTHROPIC_AUTH_TOKEN 仅作用于终端 CLI 会话;官方原文为 "Claude Desktop and cloud sessions use OAuth exclusively"——即 Claude Desktop 与云端会话(Bedrock/Vertex/Foundry 等云提供商场景)始终走 OAuth,不调用 apiKeyHelper、也不读取这些 API key 环境变量。(注意"cloud sessions"指云提供商场景,不是泛指 SSH/WSL 远程终端。)
claude auth login 自 v2.1.139 起被豁免于 server-managed settings 检查,确保在凭据过期导致设置拉取失败时仍可重新认证。
首次安装后登录(Console 账户):
# 直接运行 claude,在浏览器中用 Console 凭据登录
claude
WSL2 中浏览器无法自动打开时:
# 设置浏览器路径,让 claude 直接唤起 Windows 浏览器
export BROWSER="/mnt/c/Program Files/Google/Chrome/Application/chrome.exe"
claude
# 或:按 c 复制登录 URL 到本地浏览器,若显示登录码则粘回终端
企业 SSO 登录: 由管理员在 Console / Enterprise 侧配置 SSO 后,团队成员用各自 Claude.ai/Console 账户登录即走 SSO,无需专用命令行 flag。
ANTHROPIC_API_KEY 覆盖订阅凭据导致 403。
当 shell 配置文件中残留旧 API key 时,Claude Code 优先使用该 key(即使你有有效订阅)。若看到 403 Forbidden 或 This organization has been disabled:
unset ANTHROPIC_API_KEY
claude
并在 ~/.zshrc / ~/.bashrc 中永久删除该行。运行 /status 确认当前认证方式。
WSL2 中粘贴授权码无响应。
交互提示框的粘贴快捷键可能被终端拦截。直接改用 claude auth login(从 stdin 读取),再粘贴授权码即可。