Codex usage limits: почему закончился лимит и как продолжить

Как отличить лимит плана Codex от API rate limit, контекстного окна и баланса — и выбрать безопасный способ продолжить работу.

Codex usage limits: почему закончился лимит и как продолжить

Если Codex сообщает, что лимит исчерпан, сначала посмотрите точный текст ошибки и страницу Usage. Лимит Codex в подписке ChatGPT, API rate limit, переполненный контекст и нулевой баланс — четыре разные ситуации. Покупка API-токенов не увеличивает лимит подписки, а ожидание сброса подписки не исправит ошибку API.

Если задача срочная, у вас два независимых пути: использовать доступный для вашего плана официальный кредитный механизм либо перенести работу в отдельный API workflow. Во втором случае можно настроить Codex custom provider через BetterToken и сначала проверить его на небольшой задаче. BetterToken — это оплата API по мере использования, а не продление ChatGPT-подписки и не способ снять официальный лимит Codex.

За минуту определите, какой лимит сработал

Что вы видитеЧто это обычно означаетГде проверятьСледующий шаг
Баннер Codex о достигнутом usage limitИсчерпан доступный объём agentic usage или кредитов планаCodex Usage и баннер лимитаИспользовать доступный reset/credits, сменить план или дождаться сброса
429, rate_limit_exceeded, Retry-AfterAPI сообщил об ограничении запроса; точная причина зависит от кода и тела ответаHTTP-ответ, API dashboard, заголовки ответаСнизить параллелизм, соблюдать Retry-After, проверить документацию provider
context_length_exceeded или сообщение о слишком длинном контекстеВ запрос и историю не помещается новый ответРазмер текущей сессии и вложенийСоздать новую сессию, сократить входные данные, разбить задачу
insufficient_quota, отказ из-за балансаДля API нет доступного бюджета или разрешённого расходаБаланс, лимит Workspace, статус ключаПополнить баланс или исправить лимит, затем повторить маленький тест

Не ориентируйтесь только на число 429: без кода ошибки, тела ответа и документации конкретного provider нельзя надёжно определить причину. Сначала зафиксируйте эти данные, а затем выбирайте исправление.

Почему нельзя обещать фиксированное число сообщений

По данным OpenAI Help Center, проверенным 14 августа 2026 года, расход Codex зависит от размера и сложности задачи, выбранной модели и места выполнения. Текущая token-based rate card уточняет измеримые переменные: модель и объём input, cached input и output tokens. Поэтому небольшая локальная правка и длинная работа с большим репозиторием расходуют allowance по-разному, а формула «N сообщений каждые пять часов» плохо прогнозирует реальную работу.

Есть ещё одна причина, которую легко пропустить: если функции доступны в вашем плане, Codex, ChatGPT Work, ChatGPT for Excel и Workspace Agents расходуют общий agentic usage и credit pool. Это прямо указано в текущей rate card Codex, проверенной 14 августа 2026 года. Поэтому лимит мог закончиться не только из-за последней сессии Codex. Откройте Usage и проверьте недавнюю активность всех доступных вашему плану agentic-функций; состав набора может меняться.

Для задач, оплачиваемых кредитами, откройте текущую rate card Codex из своего Workspace и проверьте, какая таблица и единица расхода показаны вашему аккаунту. Не переносите цифры из другого плана или старой версии страницы: перед расчётом сверяйте модель, тип задачи и применимую единицу.

Что делать, если сработал лимит плана Codex

  1. Откройте Usage или баннер лимита и запишите, что именно предлагает ваш аккаунт: credits, доступный reset, upgrade или ожидание сброса. Если ваша роль не позволяет добавлять credits или управлять оплатой, обратитесь к owner/admin Workspace; доступные действия всё равно зависят от плана, роли и настроек администратора.
  2. Сохраните незакоммиченные изменения, diff и кратко зафиксируйте следующий шаг задачи. Ниже приведён безопасный вариант без commit; он также показывает untracked-файлы, которые нужно скопировать отдельно. Не запускайте повторно длинный turn в надежде, что он «проскочит».
  3. Выберите продолжение: официальный вариант для текущего плана или отдельный API workflow. Не смешивайте эти бюджеты в одном расчёте.

Как безопасно перенести срочную задачу в API workflow

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

  1. Создайте собственный API Key в Workspace и скопируйте актуальный Model ID из текущего окна Setup или model plaza — название группы не считается постоянным.
  2. Определите фактический каталог CODEX_HOME. По умолчанию это обычно ~/.codex в macOS/Linux и %USERPROFILE%\.codex в Windows, но пользовательское значение имеет приоритет:
printf '%s\n' "${CODEX_HOME:-$HOME/.codex}"

В PowerShell:

if ($env:CODEX_HOME) { $env:CODEX_HOME } else { Join-Path $env:USERPROFILE ".codex" }

Создайте в показанном каталоге файл $CODEX_HOME/bt.config.toml. Его имя соответствует команде --profile bt; основной $CODEX_HOME/config.toml при этом не заменяется:

model = "YOUR_MODEL_ID" model_provider = "bettertoken" [model_providers.bettertoken] name = "BetterToken" base_url = "https://www.bettertoken.ai/v1?utm_source=blog&utm_medium=organic_content&utm_campaign=SEO-093&utm_content=codex-usage-limits-kak-prodolzhit" env_key = "BETTERTOKEN_API_KEY" wire_api = "responses" requires_openai_auth = false request_max_retries = 4 stream_max_retries = 8 stream_idle_timeout_ms = 300000 supports_websockets = false

Codex сам добавляет /responses, поэтому не дописывайте этот путь к Base URL. Этот профильный пример относится к Codex CLI; для VS Code Extension используйте отдельную текущую инструкцию.

  1. Передайте ключ через окружение и проверьте, что переменная задана, не выводя её значение:
export BETTERTOKEN_API_KEY="YOUR_API_KEY" test -n "$BETTERTOKEN_API_KEY" && echo "BETTERTOKEN_API_KEY is set"
  1. Откройте новый терминал, запустите codex --profile bt и выполните маленькую read-only задачу. Затем проверьте выбранную модель, запрос и расход в Workspace. Если текущая инструкция Codex отличается от этого примера, используйте актуальные поля из инструкции.

Не вставляйте реальный ключ в репозиторий, статью, скриншот или config.toml, если конфигурация может попасть в Git. Значение должно приходить из переменной окружения.

Как не потерять работу при переключении

Сначала зафиксируйте состояние и сохраните бинарно-корректный diff вне репозитория:

git status --short git diff --binary HEAD > ../codex-handoff.patch git ls-files --others --exclude-standard -z > ../codex-handoff-untracked.zlist test -s ../codex-handoff.patch && echo "diff saved"

git diff не включает untracked-файлы: список из git status --short нужно проверить и при необходимости скопировать отдельно. Для изолированного продолжения создайте рабочую копию от текущего HEAD и примените сохранённый diff:

git worktree add ../project-api-handoff -b codex-api-handoff HEAD if test -s ../codex-handoff.patch; then git -C ../project-api-handoff apply --check ../codex-handoff.patch git -C ../project-api-handoff apply ../codex-handoff.patch fi while IFS= read -r -d '' path; do mkdir -p "../project-api-handoff/$(dirname "$path")" cp -p -- "$path" "../project-api-handoff/$path" done < ../codex-handoff-untracked.zlist git -C ../project-api-handoff status --short

Перед копированием просмотрите список untracked-файлов и удалите из него .env, ключи и другие секреты. Если tracked patch пуст, условие пропустит git apply, а проверенные untracked-файлы всё равно будут скопированы. Если ветка или каталог с такими именами уже существуют, выберите новые имена — не удаляйте существующие данные ради команды из примера. Затем сделайте короткий handoff-файл без секретов:

Цель: исправить падение теста X. Уже проверено: A и B. Изменены файлы: path/to/file. Следующий безопасный шаг: запустить один целевой тест. Запрещено: commit, deploy, удаление данных.

Начните новую API-сессию с этого контекста, а не с полной истории. Так вы уменьшите расход, риск переполнения контекста и вероятность повторного выполнения уже сделанных действий.

Если вместо лимита пришёл 429

Проверьте по порядку:

  1. Есть ли Retry-After и конкретный error code.
  2. Не запущено ли несколько агентов или CI-задач с одним ключом.
  3. Не исчерпан ли баланс или установленный для Workspace бюджет расходов.
  4. Повторяется ли ошибка на одном маленьком запросе после рекомендованной паузы.

Для временного rate limit используйте ограниченный exponential backoff с jitter. Не отправляйте бесконечные повторы: они увеличивают очередь и могут расходовать бюджет после восстановления сервиса.

Итоговый выбор

  • Если баннер Codex предлагает credits или reset и вы хотите сохранить тот же плановый workflow, используйте доступный официальный вариант.
  • Если нужен отдельный бюджет для автоматизации, CI или срочной задачи, настройте API workflow и контролируйте его расход отдельно.
  • Если проблема в контексте, сократите или начните новую сессию — деньги и ожидание лимита не решат её.
  • Если это API 429 или нулевой баланс, исправляйте rate limit либо бюджет, а не подписку ChatGPT.

Перед переносом срочной работы откройте актуальную настройку BetterToken для Codex, создайте отдельный ключ и проверьте один маленький запрос. После успешной проверки задайте рабочий лимит расходов и только затем продолжайте длинную задачу.

Готовы оптимизировать LLM workflow?

Подключите единый API, управляйте ключами и контролируйте расходы на AI-модели в BetterToken.