疑难排查 · Zed

Zed Claude 401 invalid x-api-key——Anthropic 设置修复

Zed 的助手会原样透传 Anthropic 的 401 invalid x-api-key。密钥和 api_url 在 Zed 设置中的位置,以及为什么它们必须来自同一签发方。

你看到的报错

HTTP 401
{"type":"error","error":{"type":"authentication_error","message":"invalid x-api-key"}}

为什么会发生

  • Zed 的 Anthropic 提供商设置里的密钥与 api_url 指向不同的签发方——网关密钥发给了默认端点,或者反过来。
  • 密钥粘贴时带了空白字符或被截断。
  • 自定义 api_url 设置时带了 /v1 后缀,请求打到重复的路径,在认证之前或代替认证而失败。
  • 密钥已被吊销或已过期。

如何解决

  • 把 language_models.anthropic.api_url 设置为签发密钥的源站,并在提供商设置里粘贴该签发方的密钥。
  • api_url 只保留源站——Zed 会自己追加 /v1 路径。
  • 改动其他任何东西之前,先用 curl 验证这一对确切的配置。

针对本网关的 Zed settings.json

{
  "language_models": {
    "anthropic": {
      "api_url": "https://api.apitoken.sale"
    }
  }
}

相关搜索

  • zed anthropic api key not working
  • zed claude 401

常见问题

Zed 把 Anthropic base URL 存在哪里?+
在 settings.json 的 language_models.anthropic.api_url 下。API 密钥本身在助手的提供商配置里输入。
为什么我的密钥在 Zed 里失败,在 curl 里却能用?+
Zed 把它发给配置的 api_url。如果那与你 curl 的 URL 不同——包括多出来的 /v1——那么看到密钥的端点就不是签发它的那个。
在 Zed 里用 Claude 需要 Anthropic 账户吗?+
不需要——任何 Anthropic 兼容端点都可以:把 api_url 设为签发方并使用它的密钥。

跳过折腾坏掉的配置

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