Диагностика
Ошибки и решения.
Шлюз отвечает кодами, а не объяснениями. Здесь собрано, что каждый из них означает на практике и что проверить первым делом.
Проверка одной командой
Прежде чем менять настройки в редакторе, убедитесь, что ключ работает сам по себе. Подставьте свой ключ вместо 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.
- Видео не принимает ни один клиент. Нарежьте его на кадры и отправьте как несколько картинок.
