Справочник кодов ошибок
Распространённые коды ошибок Claude Code и способы их устранения
Нужен API-ключ? Зарегистрироваться →Эндпоинты и Base URL →
Содержание
- Краткая таблица кодов ошибок
- 429 — Превышение лимита запросов (Too Many Requests)
- 502 — Ошибка шлюза (Bad Gateway)
- 401 — Ошибка аутентификации (Unauthorized)
- 402 — Требуется оплата (Payment Required)
- 403 — Ошибка доступа (Forbidden)
- 400 — Неверный запрос (Bad Request)
- 500 — Внутренняя ошибка сервера (Internal Server Error)
- 503 — Сервис недоступен (Service Unavailable)
- 529 — Перегрузка API (Overloaded)
- Тайм-аут подключения (Connection Timeout)
- Ошибки MCP-сервера
- Общий порядок диагностики
- Лучшие практики обработки ошибок
- Получение помощи
В этом документе подробно описаны различные коды ошибок, с которыми можно столкнуться при использовании Claude Code, а также способы их устранения.
Краткая таблица кодов ошибок¶
| Код | Тип | Описание | Серьёзность |
|---|---|---|---|
| 400 | Ошибка клиента | Неверный формат запроса | Низкая |
| 401 | Ошибка аутентификации | Недействительный API Key | Средняя |
| 402 | Квота / ошибка сервиса | Квота исчерпана или сервис временно отказывает | Средняя |
| 403 | Ошибка доступа | Доступ запрещён | Средняя |
| 429 | Ошибка ограничения частоты | Слишком частые запросы | Средняя |
| 500 | Ошибка сервера | Внутренняя ошибка | Высокая |
| 502 | Ошибка шлюза | Серверная часть недоступна | Высокая |
| 503 | Сервис недоступен | Временная перегрузка сервиса | Высокая |
| 529 | Перегрузка API | Перегрузка Claude API | Высокая |
429 — Превышение лимита запросов (Too Many Requests)¶
Одна из самых распространённых ошибок, означающая, что за короткий период было отправлено слишком много запросов.
Проявление ошибки¶
Error: 429 Too Many Requests
Rate limit exceeded. Please slow down your requests.
Распространённые причины¶
-
Слишком частые запросы: быстрая последовательная отправка множества запросов
-
Слишком много параллельных запросов: одновременный запуск нескольких экземпляров Claude Code
-
Достигнут лимит потребления токенов: за короткое время израсходовано большое количество токенов
Исчерпание квоты — это не 429: когда исчерпана дневная, общая или недельная квота, возвращается 402 (
insufficient_quota) — см. Квота исчерпана на этой странице.
Способы устранения¶
Немедленные меры:
# Подождите 30–60 секунд и повторите попытку
sleep 60 && claude "ваш вопрос"
Долгосрочные меры:
-
Снизьте частоту запросов, избегайте быстрой последовательной отправки
-
Используйте команду
/compactдля сжатия контекста -
Разделите крупные задачи на небольшие и выполняйте их по очереди
Преимущество QCode.cc: профессиональная балансировка нагрузки для распределения запросов, что эффективно снижает частоту ошибки 429.
502 — Ошибка шлюза (Bad Gateway)¶
Означает, что шлюз или прокси-сервер получил недействительный ответ от серверной части.
Проявление ошибки¶
Error: 502 Bad Gateway
The server received an invalid response from the upstream server.
Распространённые причины¶
-
Временная недоступность серверной части: проблемы с серверами Anthropic API
-
Разрыв сетевого соединения: обрыв связи в процессе запроса
-
Проблемы прокси-сервера: сбой промежуточного узла
-
Тайм-аут запроса: время ответа превысило допустимый предел шлюза
Способы устранения¶
Немедленные меры:
# Проверьте сетевое подключение
curl -s -o /dev/null -w '%{http_code}\n' \
-H "Authorization: Bearer $ANTHROPIC_AUTH_TOKEN" https://api.qcode.cc/api/v1/models
# Подождите и повторите попытку
sleep 30 && claude "ваш вопрос"
Долгосрочные меры:
-
Проверьте стабильность локальной сети
-
Попробуйте сменить сетевое окружение
-
Используйте VPN или более стабильную сеть
-
При систематическом возникновении обратитесь в техническую поддержку
Преимущество QCode.cc: мультирегиональное развёртывание, CDN-ускорение, автоматическое переключение при сбоях.
401 — Ошибка аутентификации (Unauthorized)¶
API Key недействителен или не предоставлена корректная информация для аутентификации.
Проявление ошибки¶
Error: 401 Unauthorized
Invalid API key or authentication token.
Распространённые причины¶
-
Ошибка в API Key: при копировании пропущены символы или добавлены лишние пробелы
-
API Key истёк: подписка истекла
-
API Key заблокирован: блокировка за нарушение правил использования
-
Переменная окружения не задана:
ANTHROPIC_AUTH_TOKENне настроен
Способы устранения¶
Проверка API Key:
# Проверьте переменную окружения
echo $ANTHROPIC_AUTH_TOKEN
# Убедитесь в правильности формата (начинается с cr_)
# Правильный формат: cr_xxxxxxxxxxxxxxxxxxxx
Порядок действий:
-
Войдите в панель управления QCode.cc и проверьте статус API Key
-
Убедитесь, что подписка не истекла
-
В случае блокировки обратитесь в службу поддержки
402 — Требуется оплата (Payment Required)¶
У 402 бывает два значения; сначала посмотрите тело ответа. Если error.type равен insufficient_quota, то квота исчерпана (см. Квота исчерпана); иначе сервис модели временно отказывает (см. Сервис временно отказывает).
Квота исчерпана (insufficient_quota)¶
Ответ — HTTP 402, error.type равен insufficient_quota; по code видно, какая именно квота закончилась:
| code | Значение | Как восстановить |
|---|---|---|
daily_cost_limit_exceeded |
Исчерпана дневная квота | Автоматически сбрасывается в 00:00 по пекинскому времени; если на сегодня не хватает — купите бустер-пакет в консоли |
total_cost_limit_exceeded |
Исчерпана общая квота; относится к ключам с учётом по общей квоте, например к общей квоте разовых пакетов или к месячной квоте тарифа «Максимальный» | Восстанавливается по правилам вашего тарифа: для разовых пакетов достаточно докупить любой пакет, и работа на том же ключе продолжится; месячная квота тарифа «Максимальный» пополняется при ежемесячном сбросе; если не уверены — обратитесь в поддержку |
weekly_opus_cost_limit_exceeded |
Исчерпан недельный лимит для моделей Claude | Автоматически сбрасывается каждую неделю; см. руководство по консоли |
Пример тела ответа (исчерпана общая квота):
{
"error": {
"type": "insufficient_quota",
"message": "...",
"code": "total_cost_limit_exceeded"
},
"currentCost": 100.42,
"costLimit": 100
}
Текст message — короткое сообщение на китайском, поэтому ориентируйтесь на type и code. Сумма в скобках (например, $100) — это лимит данной квоты (для общей квоты — накопленный лимит), а не остаток.
Такой 402 не проходит от повторной отправки: не пишите цикл повторов, а восстановите квоту способами из таблицы.
Истёкший ключ даёт не 402, а 401 ({"error":"Invalid API key","message":"API key has expired"}) — см. раздел 401 выше.
Сервис временно отказывает¶
Если в теле нет insufficient_quota, этот запрос отклонила сервисная цепочка модели. Обычно дело не в вашем ключе и не в конфигурации — запросы с того же ключа к другим моделям в это же время, как правило, проходят нормально.
Как это выглядит¶
Error: 402 Payment Required
В Claude Code это выглядит как запрос, который просто не даёт ответа; из скрипта или SDK вы получаете HTTP 402.
Частые причины¶
-
Сервис модели временно недоступен: такой 402 приходит из сервисной цепочки, а шлюз QCode передаёт статус без изменений
-
Сосредоточено на одной модели: в один и тот же момент у одной модели доля 402 может быть высокой, а остальные работают полностью нормально
-
Зависит от домена подключения: разные домены идут разными сервисными маршрутами, и вероятность получить 402 может отличаться в разы
-
Не связано с вашим балансом: такой 402 возникает не из-за исчерпания баланса или квоты тарифа; 402 по квоте содержит
insufficient_quota, см. выше Квота исчерпана
Что делать¶
1. Сменить модель (самое действенное)
# Переключение внутри сессии
/model sonnet
# Или указать при запуске
claude --model claude-sonnet-5
2. Сменить домен подключения
# Материковый Китай
export ANTHROPIC_BASE_URL=https://asia.qcode.cc/api
# Глобально (Route 53 выбирает ближайший узел)
export ANTHROPIC_BASE_URL=https://api.qcode.cc/api
Все три домена работают с одним ключом, поэтому переключение не требует других изменений в конфигурации. См. Эндпоинты и форматы API.
3. Не пишите плотный цикл повторов
402 не исчезает от немедленной повторной отправки; частые повторы только усугубляют ситуацию. Используйте экспоненциальную задержку либо просто смените модель — см. «Рекомендации по обработке ошибок» на этой странице.
4. Если повторяется — напишите в поддержку
Укажите время, id модели и домен подключения и свяжитесь с нами через онлайн-чат или hi@qcode.cc.
INSUFFICIENT_BALANCE / Insufficient account balance¶
В некоторых ответах 402/403 встречается JSON вида "code":"INSUFFICIENT_BALANCE", "message":"Insufficient account balance". Это не значит, что у вас закончился баланс QCode. Это временное состояние где-то в сервисной цепочке, переданное дословно, — к вашему аккаунту оно не относится. Когда исчерпана ваша собственная квота, в теле ответа будет insufficient_quota с кодом *_cost_limit_exceeded (см. выше Квота исчерпана).
Что делать: подождать и повторить / сменить модель / сменить домен доступа (шаги ①–③ выше подходят); если повторяется — в поддержку с request id. Общий порядок диагностики — в руководстве по устранению неполадок.
403 — Ошибка доступа (Forbidden)¶
Запрос отклонён сервером, обычно из-за недостаточных прав.
Проявление ошибки¶
Error: 403 Forbidden
You don't have permission to access this resource.
Распространённые причины¶
-
Неверная конечная точка API: использован неправильный адрес API
-
Недостаточные права: текущий тариф не поддерживает данную функцию
-
Региональные ограничения: некоторые функции недоступны в определённых регионах
-
Аномальное состояние аккаунта: аккаунт ограничен
Способы устранения¶
# Убедитесь, что конечная точка API настроена правильно
echo $ANTHROPIC_BASE_URL
# Должно быть: https://api.qcode.cc/api
-
Проверьте правильность настройки конечной точки API
-
Убедитесь, что тариф включает необходимую функцию
-
Обратитесь в службу поддержки для проверки настроек прав
INSUFFICIENT_BALANCE (если встречается на 403)¶
Если в теле 403 Forbidden есть INSUFFICIENT_BALANCE / Insufficient account balance, скорее всего это снова временное состояние серверной части, переданное дословно, — это не блокировка вашего аккаунта. Действуйте как в одноимённом подразделе раздела 402; общий порядок — в руководстве по устранению неполадок.
400 — Неверный запрос (Bad Request)¶
Неправильный формат запроса или недопустимые параметры.
Проявление ошибки¶
Error: 400 Bad Request
The request was malformed or contained invalid parameters.
Распространённые причины¶
-
Неверный формат запроса: некорректный формат JSON
-
Отсутствие параметров: обязательные параметры не указаны
-
Недопустимые значения параметров: значения выходят за пределы допустимого диапазона
-
Проблемы кодировки: специальные символы не закодированы правильно
Способы устранения¶
# Проверьте, не содержит ли ввод специальные символы
# Убедитесь в правильности формата запроса
claude -p "простой тест"
-
Упростите входные данные, исключите специальные символы
-
Убедитесь, что пути к файлам используют правильную кодировку
-
Проверьте формат параметров команды
500 — Внутренняя ошибка сервера (Internal Server Error)¶
Сервер столкнулся с непредвиденной ситуацией и не смог выполнить запрос.
Проявление ошибки¶
Error: 500 Internal Server Error
An unexpected error occurred on the server.
Распространённые причины¶
-
Ошибка на стороне сервера: проблема в коде API-сервера
-
Нехватка ресурсов: ресурсы сервера временно исчерпаны
-
Ошибка конфигурации: проблема с настройкой сервера
Способы устранения¶
# Подождите и повторите попытку
sleep 60 && claude "ваш вопрос"
# Используйте режим verbose для получения подробной информации
claude --verbose
-
Подождите несколько минут и повторите попытку
-
Проверьте статус сервиса на QCode.cc
-
При систематическом возникновении обратитесь в техническую поддержку, предоставив подробности ошибки
E015 — Переполнение контекста диалога¶
Возникает, когда контекст диалога приближается к пределу вместимости модели (~95%). QCode.cc оборачивает эту ошибку в ответ 429, чтобы инициировать повторную попытку:
429 {"error":{"code":"E015","message":"Internal server error"},"status":500}
Способ устранения: см. раздел «Предотвращение переполнения при длинных сессиях» в статье Управление контекстом.
503 — Сервис недоступен (Service Unavailable)¶
Сервер временно не может обработать запрос, обычно из-за перегрузки или технического обслуживания.
Проявление ошибки¶
Error: 503 Service Unavailable
The service is temporarily unavailable. Please try again later.
Распространённые причины¶
-
Перегрузка сервера: объём запросов превышает возможности сервера
-
Плановое обслуживание: сервер проходит техническое обслуживание
-
Исчерпание ресурсов: ресурсы сервера временно недостаточны
Способы устранения¶
# Повтор с экспоненциальной задержкой
for i in 1 2 4 8 16; do
claude "ваш вопрос" && break
echo "Повторная попытка, ожидание ${i} сек..."
sleep $i
done
-
Подождите несколько минут и повторите попытку
-
Используйте стратегию экспоненциальной задержки при повторных попытках
-
Проверьте объявления о статусе сервиса
529 — Перегрузка API (Overloaded)¶
Код ошибки, специфичный для Claude API, означающий перегрузку API-сервиса.
Проявление ошибки¶
Error: 529 Overloaded
The API is temporarily overloaded. Please try again later.
Распространённые причины¶
-
Резкий рост глобального потребления: всплеск числа пользователей Claude по всему миру
-
Часы пик: концентрация запросов в рабочее время
-
Популярные события: определённые события вызывают резкий рост нагрузки
Способы устранения¶
# Повторите попытку позже
sleep 120 && claude "ваш вопрос"
-
Подождите 2–5 минут и повторите попытку
-
Избегайте часов пик (рабочее время в США)
-
Используйте
/compactдля уменьшения потребления токенов
Преимущество QCode.cc: механизм распределения нагрузки, эффективно смягчающий перегрузки.
Тайм-аут подключения (Connection Timeout)¶
Запрос не был завершён в установленное время.
Проявление ошибки¶
Error: Connection timed out
The request timed out while waiting for a response.
Распространённые причины¶
-
Нестабильная сеть: низкое качество сетевого соединения
-
Слишком большой объём запроса: слишком много токенов в контексте
-
Слишком сложная задача: длительное время обработки ИИ
-
Медленный ответ сервера: высокая нагрузка на сервер
Способы устранения¶
# Проверьте сетевое подключение
ping api.qcode.cc
# Используйте режим compact для уменьшения контекста
/compact
-
Проверьте стабильность сетевого подключения
-
Используйте
/compactдля сжатия контекста -
Разделите сложные задачи на простые
-
Попробуйте более стабильное сетевое окружение
Ошибки MCP-сервера¶
Ошибки, которые могут возникнуть при настройке или работе MCP-сервера.
Проявление ошибки¶
MCP server "xxx" failed to start
MCP connection timed out
MCP tool execution failed
Распространённые причины¶
-
Неверная команда сервера: ошибка в имени пакета npx или пакет не установлен
-
Отсутствие переменных окружения: не задан токен, необходимый MCP-серверу
-
Тайм-аут: слишком долгий запуск или выполнение сервера
-
Недостаточные права: нет прав доступа к файловой системе/базе данных
Способы устранения¶
# Используйте команду /mcp для проверки статуса сервера
/mcp
# Используйте /doctor для диагностики проблем конфигурации
/doctor
# Проверьте вручную, запускается ли MCP-сервер
npx -y @modelcontextprotocol/server-filesystem /tmp
-
Используйте
/mcpдля проверки состояния подключения к серверу -
Используйте
/doctorдля запуска автоматической диагностики -
Проверьте формат конфигурации в
~/.claude/settings.jsonили.mcp.json -
Убедитесь, что необходимые переменные окружения заданы (
$GITHUB_TOKENи т.д.) -
Увеличьте тайм-аут: задайте переменные окружения
MCP_TIMEOUTиMCP_TOOL_TIMEOUT
Общий порядок диагностики¶
При возникновении любой ошибки выполните следующие шаги:
0. Запустите автоматическую диагностику¶
# Встроенный инструмент диагностики Claude Code
/doctor
Он автоматически проверит переменные окружения, подключение к API, состояние MCP-серверов и другие типичные проблемы конфигурации.
1. Проверьте сетевое подключение¶
# Проверьте доступность конечной точки API
curl -s -o /dev/null -w '%{http_code}\n' \
-H "Authorization: Bearer $ANTHROPIC_AUTH_TOKEN" https://api.qcode.cc/api/v1/models
# Проверьте DNS-разрешение
nslookup api.qcode.cc
2. Проверьте переменные окружения¶
# Проверьте все связанные переменные окружения
echo "BASE_URL: $ANTHROPIC_BASE_URL"
echo "AUTH_TOKEN: ${ANTHROPIC_AUTH_TOKEN:0:10}..."
3. Включите подробное логирование¶
# Используйте режим verbose для просмотра подробной информации
claude --verbose
# Или включите режим отладки
DEBUG=true claude
4. Выполните простой тестовый запрос¶
# Отправьте простой тестовый запрос
claude -p "скажи привет"
5. Проверьте статус сервиса¶
Посетите QCode.cc для просмотра объявлений о статусе сервиса.
Лучшие практики обработки ошибок¶
Реализация механизма повторных попыток¶
# Простой скрипт повторных попыток
retry_claude() {
local max_attempts=3
local attempt=1
while [ $attempt -le $max_attempts ]; do
claude "$@" && return 0
echo "Попытка $attempt не удалась, повтор..."
sleep $((attempt * 2))
((attempt++))
done
echo "Все попытки завершились неудачей"
return 1
}
Мониторинг потребления¶
Регулярно проверяйте потребление API, чтобы не превысить квоту:
-
Войдите в панель управления QCode.cc
-
Просмотрите статистику потребления
-
Настройте уведомления о потреблении
Оптимизация запросов¶
-
Уменьшайте контекст: регулярно используйте
/compactили/clear -
Пакетная обработка: разделяйте крупные задачи на мелкие
-
Избегайте повторов: кэшируйте часто используемые результаты
Получение помощи¶
Если приведённые выше решения не помогли, обратитесь в техническую поддержку QCode.cc:
-
Онлайн-чат: окно чата в правом нижнем углу сайта
-
Время ответа: 1–2 часа в рабочее время
-
Часы поддержки: 7x14 (ежедневно с 9:00 до 23:00)
При обращении предоставьте:
-
Полное сообщение об ошибке
-
Выполненную команду
-
Время возникновения
-
Префикс API Key (не сообщайте полный ключ)
Начните с QCode
Один API-ключ для Claude Code, Codex и других инструментов; тарификация по токенам, цены каждой модели — на qcode.cc/models