Skip to content
FunCoding

Search

Search docs, agents, posts, Skills and MCP servers

认证

登录 Claude Code 的账号类型、多账号、团队认证方式、凭据存储与优先级、续期,以及为 CI 生成长期令牌。

Claude Code 根据你的设置支持多种认证方式。个人用户可以用 claude.ai 账号登录,团队可以使用 Claude for Teams 或 Enterprise、Claude Console,或 Amazon Bedrock、Google Cloud 的 Agent Platform、Microsoft Foundry 这样的云厂商。

登录 Claude Code

安装 Claude Code 之后,在终端里运行 claude。首次启动时,Claude Code 会打开浏览器窗口让你登录。如果你设置了 ANTHROPIC_API_KEY 环境变量,Claude Code 会跳过登录提示,改为让你批准使用该 Key。

  • 浏览器没有自动打开时,按 c 把登录 URL 复制到剪贴板,然后粘贴到浏览器
  • 如果浏览器在你登录后显示的是一个登录码而不是重定向回来(浏览器连不上 Claude Code 的本地回调服务器时会这样,常见于 WSL2、SSH 会话和容器),把它粘贴到终端的 Paste code here if prompted 提示处
  • 登录完成时,终端显示 Login successful 并提示你按 Enter 继续

你可以用下面任一种账号类型认证:

  • Claude Pro 或 Max 订阅:用你的 claude.ai 账号登录
  • Claude for Teams 或 Enterprise:用你的团队管理员邀请你加入的 claude.ai 账号登录
  • Claude Console:用你的 Console 凭据登录(需要管理员先邀请你)。可以选择创建或不创建 API Key 登录
  • 云厂商:如果你的组织使用 Amazon Bedrock、Google Cloud 的 Agent Platform 或 Microsoft Foundry,运行 claude 之前设置所需的环境变量,或在登录提示处选 3rd-party platform
  • 云网关:如果你的组织运行自托管的 Claude apps gateway,通过 /login 用企业 SSO 登录

要退出并重新认证,在 Claude Code 提示处输入 /logout。退出登录也会重置你的首次启动设置状态,所以下次运行 claude 会重新带你完成登录和设置。

用多个账号登录

想同时保持登录多个账号(如工作和个人账号),给每个账号自己的配置目录。启动 claude 时,把 CLAUDE_CONFIG_DIR 环境变量设为你想用的账号对应的目录。最简单的是为每个账号起一个 shell 别名:

alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'

打开新终端并第一次运行 claude-work 后,Claude Code 会带你完成新目录的登录和设置。

设置团队认证

对团队和组织,可以用这些方式之一配置 Claude Code 访问:

  • Claude for Teams 或 Enterprise:推荐大多数团队使用
  • Claude Console
  • Claude apps gateway:自托管网关,用你的身份提供商让开发者登录,并把推理路由到你配置的云厂商
  • Amazon Bedrock、Google Cloud 的 Agent Platform、Microsoft Foundry

Claude for Teams 或 Enterprise

Claude for Teams 是带协作功能、管理工具、SSO、账单管理和用于组织级 Claude Code 配置的服务器托管设置的自助套餐,最适合较小的团队。Claude for Enterprise 增加了域名捕获、基于角色的权限和合规 API,最适合有安全和合规要求的大型组织。步骤:订阅 Claude for Teams 或联系销售了解 Enterprise;从管理仪表板邀请团队成员;团队成员安装 Claude Code 并用他们的 claude.ai 账号登录。

Claude Console 认证

对偏好基于 API 计费的组织,可以通过 Claude Console 设置访问:使用你现有的 Claude Console 账号或创建新账号;通过 Console 里的 Settings → Members → Invite 批量邀请用户,或设置 SSO。邀请用户时分配一个角色:Claude Code 角色(用户只能创建 Claude Code API Key)或 Developer 角色(用户可以创建任何类型的 API Key)。每位被邀请的用户需要接受 Console 邀请、检查系统要求、安装 Claude Code,并用 Console 账号凭据登录。

不用 API Key 登录:即使你的组织不让开发者创建 API Key,你也可以登录 Console 账号而不创建 API Key。在 /login 提示处选择 Anthropic Console 账号,Claude Code 会问你想怎么登录:用你的 Console 账号登录(标为推荐)或创建 API Key(标为旧方式)。这需要 Claude Code v2.1.242 或更新版本。

凭据管理

Claude Code 安全地管理你的认证凭据:

  • 存储位置:在 macOS 上,凭据存储在加密的 macOS 钥匙串里;在 Linux 上,凭据存储在 ~/.claude/.credentials.json,文件模式 0600;在 Windows 上,凭据存储在 %USERPROFILE%\.claude\.credentials.json,继承你的用户配置文件目录的访问控制。如果设置了 CLAUDE_CONFIG_DIR,Claude Code 把 .credentials.json 文件保存在那个目录下
  • 自定义凭据脚本:配置 apiKeyHelper 设置来运行一个返回 API Key 的 shell 脚本。如果它花超过 10 秒返回 Key,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。对无人值守的会话,提前续期尤其重要:寿命超过登录的后台会话或 Remote Control 会话,在凭据过期后会停止推进,直到你重新登录才能恢复。

认证优先级

存在多个凭据时,Claude Code 按这个顺序选择一个:

  1. 云厂商凭据,当设置了 CLAUDE_CODE_USE_BEDROCK、CLAUDE_CODE_USE_VERTEX 或 CLAUDE_CODE_USE_FOUNDRY 时
  2. ANTHROPIC_AUTH_TOKEN 环境变量,以 Authorization: Bearer 头发送;通过用 bearer 令牌而不是 Anthropic API Key 认证的 LLM 网关或代理路由时使用
  3. ANTHROPIC_API_KEY 环境变量,以 X-Api-Key 头发送;用来自 Claude Console 的 Key 直接访问 Anthropic API 时使用。交互模式下,会提示你批准或拒绝这个 Key 一次,你的选择会被记住
  4. apiKeyHelper 脚本输出,用于动态或轮换的凭据,如从密钥库获取的短期令牌
  5. CLAUDE_CODE_OAUTH_TOKEN 环境变量,由 claude setup-token 生成的长期 OAuth 令牌,用于无法浏览器登录的 CI 流水线和脚本
  6. Anthropic profile 和联合凭据(ant CLI 和工作负载身份联合使用的凭据)
  7. 来自 /login 的订阅 OAuth 凭据,是 Claude Pro、Max、Team 和 Enterprise 用户的默认值

如果你有有效的 Claude 订阅,同时在环境里也设置了 ANTHROPIC_API_KEY,Claude Code 在你批准后会使用这个 API Key。如果该 Key 属于已禁用或已过期的组织,这会导致认证失败。运行 unset ANTHROPIC_API_KEY 回退到你的订阅,并用 /status 确认哪种方式是活动的;登录和 API Key 都配置了时,/status 会标出没在使用的那个凭据。云端会话始终使用你的订阅凭据,在云环境里设置 ANTHROPIC_API_KEY 或 ANTHROPIC_AUTH_TOKEN 不会覆盖它们。

生成长期令牌

对 CI 流水线、脚本或无法交互式浏览器登录的其他环境,用 claude setup-token 生成一个有效期一年的 OAuth 令牌:

claude setup-token

这个命令打开与 /login 相同的浏览器授权流程,你在浏览器里批准访问后,令牌会打印到终端。它不会把令牌保存到任何地方;复制它,并在你想认证的地方把它设为 CLAUDE_CODE_OAUTH_TOKEN 环境变量:

export CLAUDE_CODE_OAUTH_TOKEN=your-token

PowerShell 里用 $env:CLAUDE_CODE_OAUTH_TOKEN = "your-token"。需要 Claude 订阅。