Диагностика · Zed

Zed Claude 401 invalid x-api-key — решение в настройках Anthropic

Ассистент Zed передаёт 401 invalid x-api-key от Anthropic дословно. Где в настройках Zed живут ключ и api_url и почему они должны быть от одного издателя.

Что вы видите

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

Почему возникает

  • Ключ в настройках провайдера Anthropic в Zed и api_url указывают на разных издателей — ключ шлюза уходит на дефолтный эндпоинт или наоборот.
  • Ключ вставлен с пробелами или обрезан.
  • Свой api_url задан с суффиксом /v1, поэтому запросы бьют в удвоенный путь и падают до авторизации или вместо неё.
  • Ключ отозван или истёк.

Что делать

  • Задайте language_models.anthropic.api_url как origin, выпустивший ключ, и вставьте ключ этого издателя в настройках провайдера.
  • Держите api_url только как origin — пути /v1 Zed дописывает сам.
  • Проверьте точную пару через curl, прежде чем менять что-то ещё.

settings.json Zed для этого шлюза

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

Похожие запросы

  • zed anthropic api key not working
  • zed claude 401

Вопросы и ответы

Где Zed хранит base URL для Anthropic?+
В settings.json по пути language_models.anthropic.api_url. Сам API-ключ вводится в конфигурации провайдера в ассистенте.
Почему ключ падает в Zed, но работает в curl?+
Zed отправляет его на тот api_url, что настроен. Если он отличается от URL, который вы curl-ите, — включая лишний /v1, — эндпоинт, видящий ключ, не тот, что его выпустил.
Нужен ли аккаунт Anthropic, чтобы пользоваться Claude в Zed?+
Нет — подходит любой Anthropic-совместимый эндпоинт: задайте api_url издателя и используйте его ключ.

Пропустите сломанную настройку

apiToken.sale отдаёт стандартный Anthropic API — те же модели, те же SDK, один предоплаченный баланс. Направьте base URL вашего инструмента на него, и конфигурация с этой страницы заработает как написано.