Короткий ответ
Сообщение exceeded retry limit, last status: 429 Too Many Requests само по себе не доказывает, что квота подписки Codex исчерпана. Сначала определите аккаунт и провайдера, затем прочитайте исходную ошибку. Временное ограничение частоты запросов может пройти после ожидания; недостаточный баланс API или ограничение расходов требует действий в соответствующем аккаунте. Новый чат или локальный таймер не устраняют любую ошибку 429.
Что означает «exceeded retry limit»?
В сообщении есть две подсказки: клиент прекратил повторные попытки, а последний HTTP-ответ имел статус 429. Это диагностическая интерпретация приведённого текста, а не официальная гарантия числа попыток для каждого клиента. Протокол App Server различает ошибки неудачных попыток и HTTP-статус вышестоящего сервиса.
Сохраните предшествующие подробности ошибки, если они доступны. По одному HTTP-статусу нельзя отличить ограничение частоты запросов от квоты API или ограничения оплаты. Постоянный перезапуск той же задачи может лишь увеличить число запросов, не устранив причину.
1. Определите, какой сервис отклонил запрос
Проверьте аккаунт и рабочее пространство в клиенте; в CLI используйте codex login status. Документация по авторизации Codex различает вход через ChatGPT и доступ по ключу API.
- Вход через ChatGPT: откройте панель использования Codex того же аккаунта. Если одно из окон использования исчерпано, следуйте инструкции при достижении лимита Codex. Баланс оплаты API не является квотой подписки.
- Ключ OpenAI API: проверьте полученную ошибку, использование и оплату соответствующей организации или проекта API. Время сброса ChatGPT не помогает определить причину ограничения API.
- Сторонний провайдер или шлюз: выясните, до какого провайдера действительно дошёл неудачный запрос. Его ограничения и оплата могут отличаться; коды OpenAI API применимы только тогда, когда этот сервис их возвращает. Обратитесь к его документации и каналу поддержки.
2. Отличите временное ограничение частоты от исчерпанной квоты
Если доступны error.code, error.type и текст сообщения, рассматривайте их вместе. Отсутствие поля не подтверждает конкретную причину. Справочник ошибок API различает следующие случаи:
- Частота запросов: ответ указывает на ограничение скорости, иногда с кодом
slow_down. Перед новой попыткой уменьшите число параллельных задач и резких всплесков запросов. - Баланс кредитов:
credit_balance_exhaustedотносится к кредитам API. Проверьте оплату с владельцем аккаунта; ожидание сброса подписки Codex этот баланс не пополнит. - Ограничение расходов или использования:
organization_spend_limit_exceeded,project_spend_limit_exceededиorganization_usage_limit_exceededобозначают разные ограничения. Перед разрешением дополнительных расходов уточните у администратора применимый период и настройки аккаунта. - Общий тип ошибки квоты:
insufficient_quotaможет быть менее точным, чемerror.code. Прочитайте подробное сообщение, а не считайте его временной проблемой частоты запросов.
Это примеры OpenAI API, а не обещание, что интерфейс Codex показывает каждое поле. Если виден только статус 429, считайте причину неустановленной, пока её не прояснят данные аккаунта или более полное сообщение.
3. Повторяйте запрос только тогда, когда ожидание может помочь
При временном ограничении API соблюдайте Retry-After, если он передан. Если его нет, OpenAI рекомендует экспоненциальную задержку со случайным разбросом: постепенно увеличивайте интервал, добавляя случайную задержку. В любом цикле повторных попыток, которым вы управляете, ограничивайте и число попыток, и общее время. Если требуемое ожидание превышает этот предел, отложите задачу, не сокращая указанную сервером задержку.
В интерактивной задаче Codex прекратите повторные отправки, сократите параллельную работу и после указанного ожидания один раз попробуйте небольшой следующий шаг. Не добавляйте частые ручные повторы поверх автоматических попыток клиента. Ошибку кредитов или расходов нельзя исправить задержками; универсального совета «подождите пять минут» не существует.
Прежде чем продолжить прерванную задачу, проверьте изменённые файлы, результаты команд и уже выполненные внешние действия. Возобновляйте работу с шага, состояние которого известно, чтобы не выполнить одну операцию дважды.
Ошибки 401, 403, 500, 503 и обрыв потока
Выбирайте следующую проверку по фактическому сообщению: не все эти ошибки означают, что нужно ждать сброса квоты. См. справочник ошибок и устранение неполадок Codex.
- 401: проверьте авторизацию, выбранный аккаунт и действительность учётных данных. Никогда не вставляйте ключ в сообщение на форуме поддержки.
- 403: прочитайте указанное ограничение доступа, политики или региона. Повторные запросы не предоставляют разрешений.
- 500 или 503: ошибка сервера или временная перегрузка может допускать повтор после задержки с ограниченным числом попыток. Если ошибка сохраняется, проверьте сведения о состоянии сервиса провайдера и сообщите о сбое.
- Обрыв потока или тайм-аут: соединение завершилось до получения клиентом полного результата. Одна эта формулировка не подтверждает проблему квоты и не доказывает, что никакая работа не была выполнена. Проверьте исходный статус, журналы клиента и сетевой маршрут, затем оцените прогресс задачи перед продолжением.
Что записать, если ошибка сохраняется
Сохраните время и часовой пояс, клиент и версию, модель, способ входа, провайдера, очищенное от чувствительных данных сообщение, HTTP-статус и ID запроса, если он предоставлен. Отметьте, завершается ли ошибкой даже один небольшой запрос, работают ли другие клиенты и какие проверки аккаунта вы выполнили. Перед передачей журналов в поддержку провайдера удалите ключи API, заголовки авторизации, cookies и приватное содержимое задачи.
Если данные подтвердили исчерпание окна подписки, воспользуйтесь руководством по времени сброса Codex. Личный таймер может напомнить о показанном времени восстановления, но не снимает ограничение частоты API и не подтверждает возвращение доступа.
