疑难排查 · Cursor

Cursor Request failed with status code 401——Anthropic 密钥修复

Cursor 聊天中出现 401 意味着提供商已应答并拒绝了凭据:密钥与 base URL 不匹配、密钥被吊销,或错误的请求头到达了端点。修复路径如下。

你看到的报错

Request failed with status code 401

为什么会发生

  • 密钥曾验证通过但后来被吊销或过期——Cursor 会一直使用它,直到提供商开始返回 401。
  • 保存密钥之后 base URL 覆盖项被改动,于是保存的密钥现在发往一个从未见过它的端点。
  • 密钥背后的账户被停用或访问权限被收回。

如何解决

  • 按当前实际状态重新核对这一对配置:覆盖 URL 和密钥必须来自同一签发方。哪边变了就修哪边。
  • 用 curl 拿完全相同的密钥测试完全相同的 base URL——一步就把 Cursor 排除出等式。
  • 如果 curl 也返回 401,说明密钥本身已失效:去签发方控制台查看状态或重新签发。

在 Cursor 之外复现

curl https://api.apitoken.sale/v1/messages \
  -H "x-api-key: sk-pool-•••" \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{"model":"claude-sonnet-5","max_tokens":32,"messages":[{"role":"user","content":"ping"}]}'

相关搜索

  • {"type":"error","error":{"type":"authentication_error","message":"invalid x-api-key"}}
  • cursor 401 anthropic

常见问题

Cursor 之前验证过我的密钥——为什么现在 401?+
验证只是一个快照。之后被吊销的密钥,或之后被改动的 base URL,会让后续每个请求都 401,即使最初的验证通过了。
这是 Cursor 的 bug 吗?+
几乎从来不是。401 是提供商的应答被透传。用 curl 复现:如果 curl 也拿到 401,问题出在凭据上。
如果 curl 成功但 Cursor 仍然 401 呢?+
那说明 Cursor 发送的凭据和你以为的不一样——重新打开设置,在覆盖 URL 已启用的状态下重新粘贴密钥。

跳过折腾坏掉的配置

apiToken.sale 提供标准的 Anthropic API——同样的模型、同样的 SDK、一个预付余额。把你工具的 base URL 指向它,本页的配置即可原样生效。