Диагностика

Ошибки и решения.

Шлюз отвечает кодами, а не объяснениями. Здесь собрано, что каждый из них означает на практике и что проверить первым делом.

Проверка одной командой

Прежде чем менять настройки в редакторе, убедитесь, что ключ работает сам по себе. Подставьте свой ключ вместо sk-YOUR_API_KEY и выполните обе команды: они проверяют два разных протокола, и по тому, какая из них ответила, сразу видно, где искать причину.

OpenAI-протокол

curl https://agentrouter.org/v1/chat/completions \
  -H "Authorization: Bearer sk-YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"claude-opus-5","messages":[{"role":"user","content":"ответь только OK"}]}'

Anthropic-протокол

curl https://agentrouter.org/v1/messages \
  -H "x-api-key: sk-YOUR_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "Content-Type: application/json" \
  -d '{"model":"claude-opus-5","max_tokens":16,"messages":[{"role":"user","content":"ответь только OK"}]}'

Если обе команды вернули осмысленный ответ, ключ и шлюз в порядке — причина в настройках клиента. Если не ответила ни одна, ищите свой случай ниже.

Что означают ответы шлюза

  • Код401Авторизация

    Ключ не дошёл до шлюза

    Ответ 401 либо сообщение «无效的令牌» — шлюз не увидел ключа или не признал его.

    Что проверить

    • Проверьте, что переменная окружения называется именно так, как ждёт клиент: у Codex и OpenCode это AGENTROUTER_API_KEY, у Claude Code — ANTHROPIC_AUTH_TOKEN.
    • Убедитесь, что клиент вообще сохранил ключ. В OpenCode для этого есть команда opencode auth login — команды opencode providers login не существует, хотя она встречается в документации.
    • Проверьте схему авторизации: шлюз принимает Bearer и x-api-key, но не «Authorization: <ключ>» без префикса.
  • Код404Адрес запроса

    Запрос ушёл не на тот адрес

    Ответ 404, а в пути видно /messages без /v1 либо /v1/v1/messages с удвоением.

    Что проверить

    • Claude Code сам дописывает /v1/messages — ему нужен базовый адрес без /v1.
    • Vercel AI SDK дописывает только /messages — ему, наоборот, нужен адрес с /v1.
    • В Codex при ответе 404 на /v1/responses замените wire_api на "chat": эндпоинт /v1/chat/completions есть всегда.
  • Код403Авторизация

    Модель недоступна вашей группе

    Ответ 403 с упоминанием группы пользователей.

    Что проверить

    • Ограничение стоит на стороне шлюза, а не в конфигурации: сменой base URL или протокола его не обойти.
    • Попробуйте другую модель из доступных вам — если работает она, дело именно в правах на конкретную модель.
  • Код400Модель

    Такой модели больше нет

    Ошибка с именем модели в тексте: шлюз не знает того, что вы просите.

    Что проверить

    • Моделей claude-opus-4-6, claude-opus-4-7, gpt-5.5, gpt-5.6 и glm-5.2 на шлюзе нет, хотя они указаны в официальной документации. Это главная причина, по которой конфигурации из доков не работают.
    • Актуальные имена — claude-opus-5, claude-opus-4-8 и gpt-5.6-sol. Последняя доступна только по OpenAI-протоколу.
  • КодСеть

    Шлюз не отвечает

    Запрос обрывается по таймауту, без кода ответа: соединение не установилось вовсе.

    Что проверить

    • Проверьте, открывается ли основной домен с вашей сети. Если нет, это не ошибка в настройках.
    • У шлюза есть резервный домен для таких случаев — попробуйте указать его вместо основного.
    • Проверьте, не блокирует ли соединение VPN, корпоративный прокси или файрвол.
  • КодМодель

    Не получается приложить скриншот

    Кнопка-скрепка неактивна или файл прикрепляется, но модель его не видит.

    Что проверить

    • Почти всегда причина одна: клиент считает модель текстовой. Имена вида claude-opus-5 и gpt-5.6-sol большинству редакторов незнакомы, и признак vision приходится выставлять руками.
    • В Cline и Kilo Code это галочка Supports Images под полем Model ID, в Trae — переключатель Image / Vision, в Continue — блок capabilities, в OpenCode — флаг attachment.
    • Видео не принимает ни один клиент. Нарежьте его на кадры и отправьте как несколько картинок.