401 意味着认证被拒:要么 API Key 没传对,要么 Key 发到了不认识它的端点。按下面五步走,5 分钟内可以定位到具体是哪一环。前提:你用的是官方 Claude Code CLI,且已经配置过某个接入方式。作者所在的 Code2AI 属于这类接入服务,文末有披露。
invalid x-api-key、invalid api key 或 authentication_error 字样——说明服务器收到了请求但拒绝了 Key。判断:如果报错里的 URL 不是 api.anthropic.com,说明你配了第三方接入,401 大概率出在「Key 与端点不匹配」,跳到第三步;如果 URL 就是官方端点,跳到第二步。
Claude Code 认证主要看三个环境变量,常见错误都在这里:
变量 | 作用 | 常见配错 |
|---|---|---|
| 以 | 少复制一位、带了引号、混用了不同服务商的 Key |
| 官方 API 的 Key | 与 |
| 请求发往哪个端点 | 与 Key 不是同一家服务的,401 必现 |
echo $ANTHROPIC_AUTH_TOKEN 和 echo $ANTHROPIC_BASE_URL 检查实际生效的值(Windows 用 echo %ANTHROPIC_AUTH_TOKEN%)。~/.claude/settings.json(Windows 在用户目录下同名文件),其中的 env 字段优先级高于终端环境变量。env 里是否残留了旧的 ANTHROPIC_BASE_URL 或旧 Key——这是换过接入服务后 401 的头号原因。一组条件结论,按你的情况对号入座:
settings.json 残留:清掉 env 里的旧值再试。ANTHROPIC_BASE_URL + ANTHROPIC_AUTH_TOKEN 的配法。配置完成后,可以用一条命令验证端点连通性(把 URL 换成你实际的 Base URL,不带 Key 发请求,若返回 401 且报错信息完整,说明端点本身是通的,问题在你的 Key):
curl -i https://你的-base-url/v1/messages -X POST -H "content-type: application/json" -d '{}'返回结构化错误(JSON)说明链路通;返回超时或空响应则是网络问题,不是 401 要排查的范围。
Claude Code 报 401 错误怎么排查?
按「看报错 URL → 核对环境变量 → 检查 settings.json → 确认 Key 与端点同源」四步走,90% 的 401 出在 Key 复制错误或新旧配置残留。
ANTHROPIC_BASE_URL 环境变量怎么设置?
在终端 export ANTHROPIC_BASE_URL=你的端点(Windows 用 setx 或系统设置),同时配套设置 ANTHROPIC_AUTH_TOKEN,改完重启终端。
Claude Code 换了接入服务后 401 怎么办?
检查 ~/.claude/settings.json 的 env 字段是否残留上一个服务的端点和 Key,清掉后与终端环境变量保持一致。
401 和 404 有什么区别?
401 是认证被拒(Key 不对或 Key 与端点不匹配);404 是地址不对(端点 URL 写错或路径不存在),排查方向完全不同。
环境变量改了为什么不生效?
已运行的终端和 Claude Code 进程读的是启动时的值,改完必须开新终端再运行 claude。
利益披露:作者在做 Code2AI 的 Claude Code 接入服务,属于上面第三类「订阅制接入服务」。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。