Claude Code 报错 Invalid API key · Please run /login 怎么解决
发出去的 Key 不对。最常见的原因是机器上同时留着 ANTHROPIC_API_KEY 和 ANTHROPIC_AUTH_TOKEN,Claude Code 用了你没想到的那一个。
报错原文
Invalid API key · Please run /login也可能显示为 API Error: 401,或返回体里有 authentication_error、invalid_api_key。
这条报错是什么意思
401 表示服务端不认这个凭据。Claude Code 有两种发 Key 的方式:ANTHROPIC_AUTH_TOKEN 发 Authorization: Bearer 请求头,ANTHROPIC_API_KEY 发 x-api-key 请求头。两个都设时,很容易发错。
常见原因
- 机器上还留着旧的
ANTHROPIC_API_KEY(以前用官方 API 时设的),和新平台的 Key 冲突。 - Key 复制不全,或者首尾多了空格、换行。
- 终端里的环境变量和
settings.json里的值不一样,终端里的优先级更高。 - 官方 Key 发给了第三方地址,或者第三方 Key 发给了官方地址。
怎么排查
列出所有 ANTHROPIC_ 开头的变量名,看有没有重复或残留:
# macOS / Linux:只列变量名,不打印 Key env | grep ^ANTHROPIC_ | cut -d= -f1 # Windows PowerShell (Get-ChildItem Env:ANTHROPIC*).Name删掉不用的那个,用第三方平台时推荐只保留
ANTHROPIC_AUTH_TOKEN:unset ANTHROPIC_API_KEY # 再到 ~/.zshrc、~/.bashrc 等文件里删掉对应的 export 行重新从平台控制台复制 Key,新开终端后再启动 Claude Code。
还不行,用下面的命令直接请求一次。返回 401 说明 Key 本身有问题;能正常返回说明问题在 Claude Code 的配置:
curl -sS "$ANTHROPIC_BASE_URL/v1/messages" \ -H "Authorization: Bearer $ANTHROPIC_AUTH_TOKEN" \ -H "anthropic-version: 2023-06-01" \ -H "content-type: application/json" \ -d '{"model":"claude-opus-5-5","max_tokens":16,"messages":[{"role":"user","content":"hi"}]}'
curl 命令里用的是 Claude Code 的同名环境变量,在设好变量的终端里直接运行即可,Key 不会显示出来。Windows 用户可以在 Git Bash 或 WSL 里运行。
相关报错
配置有问题?
用 配置生成器 重新生成一份环境变量或 settings.json,Key 只在本地拼接。
需要国内能直接连接的 Anthropic 原生协议地址,可以看 TeamoRouter 的 Claude Code 接入文档(利益相关:本站由 TeamoRouter 团队维护,它不是 Anthropic 官方渠道)。