跳到出发板
DIDRESET
UTC

「Invalid API key · Fix external API key」

更新于

「Invalid API key · Fix external API key」表示 ANTHROPIC_API_KEY 或 apiKeyHelper 给出的 key 被 API 拒绝,或格式不对被拦下。它是认证错误,不是用量限额:没有窗口满了,任何重置都清不掉。到 Claude Console 检查 key,或取消该变量并运行 /login 改用订阅。

上次重置
09-04 20:08Z

@lydiahallie

状态
已超期

距上次重置已超过近期中位间隔的 1.5 倍。

预计下次
随时

距今天数
13.1

「Invalid API key · Fix external API key」是什么意思?

Error reference 把它列在认证错误里:「The ANTHROPIC_API_KEY environment variable or apiKeyHelper script returned a key the API rejected, or Claude Code blocked a key from ANTHROPIC_API_KEY before sending it.」在 API 层面,被拒绝的 key 对应 401 authentication_error,Platform 文档描述为 API key 有问题,例如格式错误、已撤销或已过期。

「external」这个词很关键:key 来自你的环境,而不是 /login。环境变量优先于保存的登录,所以写在 shell 配置或 .env 文件里的 key 即使在 Pro / Max 订阅有效时也会被使用。文档提醒 direnv、dotenv 类 shell 插件和 IDE 终端都可能在你没有显式设置的情况下加载失效的 key。

如果文案后面跟着「it contains a line break at character 41」之类的描述,API 根本没看到这个 key:Claude Code 发现了 HTTP 头无法承载的字符,在发送前就拦下了请求。无论哪种情况,这不是额度问题,重置也不会解决。

满的是哪个窗口?

满的是哪个窗口?
窗口何时刷新在哪里看
没有:这是认证失败,不是额度窗口不会刷新;没有可等的时间/status 显示当前生效的凭证

看到它该怎么办

  1. 到 Console 检查 key

    在 platform.claude.com/settings/keys 检查是否有拼写错误、是否已被撤销。

  2. 找出 key 从哪来

    在同一个 shell 里运行 env | grep ANTHROPIC(PowerShell:Get-ChildItem Env:ANTHROPIC*)。项目里的 .env、direnv 或 IDE 终端都可能在提供失效的 key。

  3. 或者改用订阅

    取消 ANTHROPIC_API_KEY 并运行 /login 改用订阅认证。帮助中心说明 /login 会把你从 Console 按量付费切到订阅计划。

  4. key 来自 apiKeyHelper 时

    按文档建议直接运行那个脚本,确认它在 stdout 打印出有效的 key。

  5. 用 /status 确认

    它显示 Claude Code 实际使用的凭证来源,可以看到修复是否生效。

什么时候重置?

你自己的窗口:这里没有任何东西会刷新。请求在计入任何用量之前就被拒绝了,5 小时窗口与周窗口都没动。凭证正确后,/usage 会显示它们的状态。

全员重置:Anthropic 宣布的官方重置改变的是额度,不是凭证。上方板面记录那些公告;坏掉的 API key 经过任何重置都还是坏的。

常见问题

「Invalid API key」是用量限额吗?

不是。Error reference 把它列在认证错误里,底层 API 错误码是 401 authentication_error,Platform 文档描述为 API key 有问题。这里不涉及任何窗口,等重置什么都不会改变。

我有 Max 订阅,为什么会用到 API key?

因为环境变量优先于 /login。如果 ANTHROPIC_API_KEY 写在 shell 配置里或从 .env 文件加载,Claude Code 在你批准后就会使用它。取消该变量并运行 /login 才会走订阅。

「Fix external API key」后面的文字是什么意思?

如果后面跟着某个字符位置有换行之类的描述,说明 Claude Code 发现了 HTTP 头无法承载的字符,在发送前就拦下了请求。API 根本没看到这个 key;去它来源的变量或文件里修正值。

怎么知道 Claude Code 选了哪个凭证?

运行 /status。文档描述了固定的优先级:云厂商变量、ANTHROPIC_AUTH_TOKEN、ANTHROPIC_API_KEY、apiKeyHelper、CLAUDE_CODE_OAUTH_TOKEN、profile,最后才是 /login 的订阅登录。

来源

  1. Claude Code docs: Error reference — "Invalid API key"核实于 2026-09-18
  2. Claude Platform docs: API errors (401 authentication_error, 429 rate_limit_error)核实于 2026-09-18
  3. Claude Code docs: Authentication — Authentication precedence核实于 2026-09-18
  4. Claude Console: API keys核实于 2026-09-18
  5. Claude Help Center: Use Claude Code with your Pro or Max plan (/status, /login, shared limits)核实于 2026-09-17

想让下一次 Claude 重置直接打到手机上?

赞助商