CoreCode博客

用法

Claude Code 用 API Key 登录:不用订阅怎么配置、apiKeyHelper 和费用对比

发布于 · 最后核对

Claude Code 不一定要订阅 Claude。它可以用 Claude Console 账号、环境变量里的 API Key、网关用的 Bearer token,或者一个取 Key 的脚本来认证。这一页按 Claude Code 实际采用的优先级列出这些方式,说明各自怎么配,并讲 apiKeyHelper、切换账号和 VS Code 扩展。内容按 Anthropic 的 Authentication 页面和设置参考中文整理,2026 年 11 月 5 日核对。

要点
  • 想用 API Key,设置 ANTHROPIC_API_KEY,Claude Code 询问时批准这个 Key。批准后,即使你已登录订阅账号(Pro、Max、Ultra、Team、Enterprise),也会改用这个 Key。
  • 存在多个凭据时,Claude Code 按这个顺序选第一个:云厂商凭据、ANTHROPIC_AUTH_TOKEN、ANTHROPIC_API_KEY、apiKeyHelper 输出、CLAUDE_CODE_OAUTH_TOKEN,最后才是 /login 的订阅登录。
  • apiKeyHelper 是 settings.json 里的一条命令,输出 Key。结果默认缓存五分钟;命令超过 10 秒还没返回,提示栏会出现警告。
  • 中转站的 Key 要放在 ANTHROPIC_AUTH_TOKEN,并同时设置 ANTHROPIC_BASE_URL,不要放进 ANTHROPIC_API_KEY。

Claude Code 有哪几种认证方式

Anthropic 的认证页列出的账号类型有:Claude Pro、Max、Ultra 订阅,Claude for Teams 或 Enterprise,Claude Console,以及云厂商(Amazon Bedrock、Google Cloud 的 Agent Platform、Microsoft Foundry)。订阅用 claude.ai 账号登录,Console 是按 API 计费的那条路。首次启动时 Claude Code 会打开浏览器让你登录;如果你设置了 ANTHROPIC_API_KEY 并批准该 Key,或者事先运行过 claude auth login,就不会弹登录。

文档把 Console 描述为适合偏好 API 计费的组织:使用或新建 Console 账号,管理员邀请成员,成员用 Console 凭据登录。在 /login 提示里选 Anthropic Console 账号。Claude Code v2.1.242 及以上,你可以选“用 Console 账号登录”(标注为推荐,存成 Anthropic profile,不会创建 API Key),或者“创建 API Key”(标注为 legacy)。

用 ANTHROPIC_API_KEY 设置 API Key

先在 Console 创建 Key,再在启动 Claude Code 前导出:

export ANTHROPIC_API_KEY=your-key
claude

交互模式下,Claude Code 会问一次是否使用这个 Key,并记住你的选择。以后想改,用 /config 里的 “Use custom API key” 开关,这个开关只在环境里设置了 ANTHROPIC_API_KEY 时才出现。非交互模式(-p)只要有这个变量就一定使用。它作为 X-Api-Key 请求头发送。

如果你有订阅,同时又设置了 ANTHROPIC_API_KEY,批准后 Claude Code 就用 API Key;如果这个 Key 属于已停用或过期的组织,会导致认证失败。想回到订阅,运行 unset ANTHROPIC_API_KEY。用 /status 可以确认当前实际用的是哪个凭据来源。

ANTHROPIC_AUTH_TOKEN:auth token 变量

ANTHROPIC_AUTH_TOKEN 是 Authorization 请求头的自定义值,会加上 Bearer 前缀。Anthropic 的优先级说明里写明:当你经过一个用 Bearer token、而不是 Anthropic API Key 认证的 LLM 网关或代理时用它。它的优先级高于 ANTHROPIC_API_KEY。CI 里要长期有效的 token,Anthropic 文档给的是另一个变量 CLAUDE_CODE_OAUTH_TOKEN,用 claude setup-token 生成;它是 claude.ai 的 OAuth token,优先级低于 API Key 和 helper。

多个凭据同时存在,谁生效

存在多个凭据时,Claude Code 按下面的顺序选一个:

  1. 云厂商凭据,在设置了 CLAUDE_CODE_USE_BEDROCK、CLAUDE_CODE_USE_VERTEX 或 CLAUDE_CODE_USE_FOUNDRY 时。
  2. ANTHROPIC_AUTH_TOKEN,以 Authorization: Bearer 发送。
  3. ANTHROPIC_API_KEY,以 X-Api-Key 发送。
  4. apiKeyHelper 脚本的输出。
  5. CLAUDE_CODE_OAUTH_TOKEN。
  6. Anthropic profile 和 federation 凭据。
  7. /login 得到的订阅 OAuth 凭据,Pro、Max、Ultra、Team、Enterprise 用户的默认选项。

文档还说明:已登录的 Claude apps gateway 会话不在这个列表里,优先级比云厂商更高。已保存的 claude.ai 登录会留在本机,但只要有更高优先级的凭据生效,就不会被使用。

apiKeyHelper

apiKeyHelper 让你用自己的命令生成发送给模型请求的凭据。Claude Code 通过系统 shell 运行它(macOS 和 Linux 是 /bin/sh,Windows 是 cmd),并把输出同时作为 X-Api-Key 和 Authorization: Bearer 两个请求头发送。Anthropic 建议用在动态或轮换的凭据上,比如从密钥库取的短期 token。它是字符串类型的设置,任何设置文件都能放:

{
  "apiKeyHelper": "/bin/generate_temp_api_key.sh"
}

Claude Code 会缓存结果,在以下情况重新运行命令:

后两条只在 helper 输出就是实际发送的凭据、且没有设置 ANTHROPIC_AUTH_TOKEN 时适用。如果命令来自项目或本地设置,交互会话要等你接受工作区信任提示后才会运行它。运行中的会话会自动重新加载对 apiKeyHelper 的修改,不用重启。

“apiKeyHelper is taking a while”和 helper 失败

如果 apiKeyHelper 超过 10 秒还没返回 Key,Claude Code 会在提示栏显示一条警告,带上已经等待的时间。Anthropic 的建议是:经常看到这条提示,就检查你的凭据脚本能不能优化。

脚本报错退出、超时或什么都不输出时,请求会在三次尝试内失败,提示 Your apiKeyHelper script is failing。脚本除了 Key 还输出了别的东西(比如登录横幅或日志行)时也是这条提示。运行 /status 可以看脚本的错误输出;非交互模式下 stderr 会带上原因,前缀是 apiKeyHelper failed:。

退出登录、重新登录和切换账号

在 Claude Code 提示符下输入 /logout 退出并重新认证。退出登录还会重置首次启动的设置状态,下次运行 claude 会重新带你走一遍登录。运行 /login 登录另一个账号。/login 和 /logout 管理的凭据,macOS 存在 Keychain,Linux 和 Windows 存在 ~/.claude/.credentials.json(Windows 是 %USERPROFILE%\.claude\.credentials.json)。

想同时保持两个账号登录,用 CLAUDE_CONFIG_DIR 给每个账号单独一个配置目录。每个目录有自己的设置、会话历史和 claude.ai 登录或 API Key:

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

Anthropic 特别说明:用“不创建 API Key”的方式登录 Console 时,两个 Console 登录不会因为目录不同就分开,因为这种登录存在配置目录之外。

API Key 和订阅:区别在哪

订阅的用量包含在套餐里,API Key 按 token 计费。Anthropic 的网关文档说明:只要网关凭据变量或 apiKeyHelper 生效,请求带的就是这个凭据,而不是你的订阅登录,订阅的用量限制也不适用于这些请求;费用按 token 计给凭据的持有者。在 /usage 里,顶部的 Session 区块显示 API token 用量,是给 API 用户看的;订阅用户看到的是套餐用量条。

价格这里不重复,只引用我们 Claude API 定价一文给出的每百万 token 价格:Opus 5.5 输入 $4、输出 $20,Sonnet 5.5 输入 $2、输出 $10。想对比订阅和 API 哪个更划算,看订阅、API 还是中转站,再用 Claude API 费用计算器估算自己的用量。

VS Code

Anthropic 说明,apiKeyHelper、ANTHROPIC_API_KEY 和 ANTHROPIC_AUTH_TOKEN 对 CLI 以及包装它的界面都有效,包括 VS Code 扩展。如果你在 shell 里设置了 ANTHROPIC_API_KEY,扩展里还是出现登录提示,可能是 VS Code 没继承 shell 的环境变量。用终端里的 code . 启动 VS Code,或者改用 Claude 账号登录。Claude Desktop 和云端会话不会调用 apiKeyHelper,也不读这些变量,它们走 OAuth。

对扩展来说,写进设置文件比依赖 shell 更稳,因为扩展和 CLI 共用 ~/.claude/settings.json。env 块和“Disable Login Prompt”选项见 IDE 配置指南。

用中转站的 Key

CoreCode 是由官方 Claude 账号应答的中转站。Claude Code 通过 ANTHROPIC_BASE_URL=https://corecode.live 指向它,Key 放在 ANTHROPIC_AUTH_TOKEN,写法见 Claude Code 配置指南。不要把它放进 ANTHROPIC_API_KEY,也不要同时用 claude.ai 账号登录;之前登录过的话,先运行 /logout。如果 ANTHROPIC_AUTH_TOKEN 和 ANTHROPIC_API_KEY 同时设置,可能出现 Auth conflict,错误排查页的做法是删掉 ANTHROPIC_API_KEY,只留 token。通用方法见Claude Code 自定义 API 地址怎么配。充值支持支付宝和微信,人民币结算(¥1 = $1 额度)。

常见问题

Claude Code 怎么用 API Key 登录?

在 Claude Console 创建 Key,运行 export ANTHROPIC_API_KEY=... 再启动 claude,被询问时批准这个 Key。也可以在 /login 提示里选 Anthropic Console 账号。

没有订阅能用 Claude Code 吗?

可以。Anthropic 把 Claude Console 和云厂商与 claude.ai 订阅并列为账号类型。Console 的 API Key 按 token 计费,不占用套餐额度。

ANTHROPIC_API_KEY 和 claude.ai 登录,哪个优先?

批准之后是 API Key。优先级列表里 ANTHROPIC_API_KEY 排在 /login 凭据之前。想回到订阅,运行 unset ANTHROPIC_API_KEY。

Claude Code 的 apiKeyHelper 是什么?

settings.json 里的一条命令,输出 API 凭据。Claude Code 默认缓存输出五分钟,遇到 401 或 403 会重新运行。间隔用 CLAUDE_CODE_API_KEY_HELPER_TTL_MS 调整。

Claude Code 怎么换账号登录?

先 /logout,再 /login。想同时保留两个账号,给每个账号用不同的 CLAUDE_CONFIG_DIR 启动。

来源