错误消息
API Error: 401 {"type":"error","error":{"type":"authentication_error","message":"Invalid authentication credentials"}}
API Error: 401 invalid x-api-key
Invalid API key · Fix external API key
Not logged in · Please run /login
Login expired · Please run /login
API Error: 403 x-deny-reason: host_not_allowed
Error: Poll: Access denied (403): Account is no longer a member of the organization associated with this token.
步骤 1:正在发送哪个凭据?
claude
/status # auth method, endpoint, model
echo $ANTHROPIC_API_KEY | cut -c1-12
echo $ANTHROPIC_BASE_URL
grep -n apiKeyHelper ~/.claude/settings.json
了解后,优先级其实很简单:一个 ANTHROPIC_API_KEY (位于环境变量中,或由以下内容返回的值: apiKeyHelper)会取代 OAuth 登录凭据。一个很久以前在 .bashrc 中导出的旧密钥,或来自另一个网关的密钥,是导致 401 在每次 /login后仍然出现的典型原因。取消设置该变量,或设置正确的密钥。
使用 API 密钥时出现 401:密钥与端点不匹配
invalid x-api-key 和 Invalid API key · Fix external API key 表示端点无法识别该密钥。一个密钥只属于一个端点:Anthropic 控制台密钥只能用于 api.anthropic.com;网关密钥只能用于该网关的 ANTHROPIC_BASE_URL。将控制台密钥发送到 https://aiprimetech.io ,或将网关密钥发送到 Anthropic,都会返回 401。还要检查粘贴到变量中的内容末尾是否带有换行符或引号,并确认密钥未在控制面板中被撤销或轮换。
curl -s https://aiprimetech.io/v1/models -H "x-api-key: $ANTHROPIC_API_KEY" -H "anthropic-version: 2023-06-01" | head -c 300
# a JSON list = key accepted; authentication_error = wrong key for this host
/login 后出现 401:OAuth 令牌
API Error: 401 Invalid authentication credentials 在浏览器登录成功后立即出现,是报告最多的情况(#69706,尚未关闭,Windows,Pro 订阅有效; #44265,登录后立即报告令牌已过期)。
第一个讨论帖中的一位评论者发现,已存储的 refreshToken 在以下文件中是空字符串: ~/.claude/.credentials.json,这会导致每个请求都返回 401,直到重新登录并替换该文件。 #54443 记录了服务器在本地存储的到期时间之前就拒绝会话、且刷新调用返回 400 的情况,因此 Please run /login 每隔几小时就会再次出现;在同一个账户上运行多个 Claude Code 实例会让问题更严重,因为它们会争相刷新同一个令牌。 #44585: /login 输出“登录成功”后,立即恢复为“未登录”。
/logout,然后删除已存储的凭据(~/.claude/.credentials.json适用于 Linux 和 Windows;macOS 上则是钥匙串中的“Claude Code-credentials”条目),然后/login在未安装 Claude in Chrome 扩展的浏览器中执行。- 登录前,关闭其他 Claude Code 窗口、桌面应用和 IDE 扩展;它们会刷新同一个令牌。 OAuth 错误页面 介绍了“无法刷新 OAuth 令牌:另一个 Claude Code 进程正在刷新它”的情况。
claude update: #54235 将一个 401 问题追溯到了特定版本和一个测试版功能标志环境变量;身份验证的回归问题通常会很快得到修复。- 无图形界面或 SSH 机器:
claude setup-token在可以通过浏览器登录的机器上执行,然后在目标机器上使用该令牌。 - 先恢复工作比调试更重要:设置
ANTHROPIC_API_KEY后,Claude Code 就完全不会使用 OAuth。
403:允许身份验证,但不允许执行该操作
- `x-deny-reason: host_not_allowed` ——请求前方的代理拒绝访问目标地址。这种情况出现在网页端或桌面端沙箱的出站访问允许列表中(#93562,尚未关闭:即使选择了“所有域名”,内置列表之外的主机在 CONNECT 上仍会收到 403),也出现在企业代理中。将主机添加到允许列表,或在沙箱外运行 CLI。
- 沙箱 git 代理 403 在
git push到现有分支(#57356)——这是沙箱的 git 代理策略所致,并非 GitHub 的问题。请从普通终端推送。 - `Account is no longer a member of the organization associated with this token` ——令牌是为你已退出或发生变更的组织签发的;
claude remote-control过去会因此导致每个会话崩溃(#53563)。退出并重新登录,为当前组织签发新令牌。 - 网关返回 403 ——密钥有效,但账户已被禁用、余额不足以使用该模型,或你的套餐不包含该模型;响应正文会说明具体原因。在修改任何客户端配置之前,先检查控制面板。
- `/feedback` 返回 403 (#55348)——该端点发生了服务端故障;这不会影响模型。
改用 API 密钥
unset ANTHROPIC_API_KEY ANTHROPIC_BASE_URL # back to the subscription login
# or: bypass OAuth entirely
export ANTHROPIC_BASE_URL=https://aiprimetech.io
export ANTHROPIC_API_KEY=your_gateway_key
claude
网关密钥就是普通的 API 密钥:不涉及 OAuth、令牌刷新或组织成员资格,401 这一类问题也就简化为“密钥是否与主机匹配”。如果你陷入了 /login 循环,又需要在今天交付,这是最快的解决办法;首次加密货币充值金额翻倍(+50%)。
厌倦了与这个问题反复较劲?
改为通过 AI Prime Tech 网关运行 Claude Code:使用相同的 Claude 模型,由网关自己的上游账户提供服务,设置两个环境变量即可切换,新账户可获得 $5 免费 API 额度 使用优惠码 FIXIT — 无需银行卡。
export ANTHROPIC_BASE_URL=https://aiprimetech.io
export ANTHROPIC_API_KEY=your_key常见问题
如何修复 Claude Code 中的“API 错误:401 身份验证凭据无效”?
使用 /status 检查当前生效的凭据。取消设置过期的 ANTHROPIC_API_KEY,或在关闭其他 Claude Code 实例后,执行 /logout,删除 ~/.claude/.credentials.json(macOS 上删除钥匙串中的凭据),再执行 /login 重新登录。作为绕过方案,使用 API 密钥可以完全跳过 OAuth。
为什么 Claude Code 提示 API 密钥无效?
该密钥不属于 ANTHROPIC_BASE_URL 中指定的端点。控制台密钥需要使用 api.anthropic.com;网关密钥需要使用该网关的 URL。同时检查粘贴时是否带入了空白字符,以及密钥是否已被撤销。
为什么 Claude Code 一直要求我运行 /login?
OAuth 令牌在本地到期时间之前就被拒绝,或刷新失败,通常是因为多个 Claude Code 进程共用同一个令牌。关闭其他进程,退出登录,清除已存储的凭据,重新登录,并更新 CLI。
403 x-deny-reason: host_not_allowed 是什么意思?
代理(沙盒出站访问允许列表或企业代理)拒绝了目标主机。你的凭据没有问题;允许访问该主机,或在沙盒外运行。
通过网关运行 Claude Code
相同的模型,两个环境变量,面值 7.69231 倍的额度,或固定费率不限量方案。 新账户:使用优惠码 FIXIT 可获得 $5 免费 API 额度。
获取 API 密钥 查看不限量方案AI Prime Tech 是独立的 API 网关,与 Anthropic 无关联,也未获得其认可或赞助。“Claude”和“Claude Code”是 Anthropic 的商标。此处介绍的 Claude Code 功能以撰写时 Anthropic 的公开文档为依据,且经常发生变化;本页面的价格和模型列表读取自此网关的实时设置。