Claude Code 报错 API Error: 403 Request not allowed 怎么解决
请求被服务端直接拒绝了。用官方账号时,多半是网络出口地区或账号状态的问题;用第三方平台时,多半是 Key 没有这个模型的权限。
报错原文
Failed to authenticate. API Error: 403 Request not allowed有时出现在压缩上下文时:Error during compaction: Failed to authenticate. API Error: 403 Request not allowed
这条报错是什么意思
403 表示服务端收到了请求、认出了你是谁,但不允许这次访问。它和 401(凭据不对)不同,换一个 Key 字符串通常解决不了。
常见原因
- 用官方订阅或官方 API 时,网络出口 IP 所在地区不在 Anthropic 支持的范围内。
- 官方账号被风控或封禁,或者登录态失效。
- 用第三方平台时,这个 Key 没有开通当前模型,或者所在分组不能用这个模型。
怎么排查
先确认请求发去了哪里:在 Claude Code 里输入
/status。如果发去的是官方:检查代理出口所在地区;在 Claude Code 里执行
/logout再/login重新登录。账号被封只能找 Anthropic 申诉。如果发去的是第三方平台:用下面的命令绕开 Claude Code 直接请求一次,看平台返回的原始错误,再对照平台的模型列表和 Key 权限:
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 官方渠道)。