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

Если 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-After | API сообщил об ограничении запроса; точная причина зависит от кода и тела ответа | 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
- Откройте Usage или баннер лимита и запишите, что именно предлагает ваш аккаунт: credits, доступный reset, upgrade или ожидание сброса. Если ваша роль не позволяет добавлять credits или управлять оплатой, обратитесь к owner/admin Workspace; доступные действия всё равно зависят от плана, роли и настроек администратора.
- Сохраните незакоммиченные изменения, diff и кратко зафиксируйте следующий шаг задачи. Ниже приведён безопасный вариант без commit; он также показывает untracked-файлы, которые нужно скопировать отдельно. Не запускайте повторно длинный turn в надежде, что он «проскочит».
- Выберите продолжение: официальный вариант для текущего плана или отдельный API workflow. Не смешивайте эти бюджеты в одном расчёте.
Как безопасно перенести срочную задачу в API workflow
API-путь полезен, когда вам нужен отдельный измеряемый бюджет, а не дополнительные возможности подписки. Для BetterToken схема такая:
- Создайте собственный API Key в Workspace и скопируйте актуальный Model ID из текущего окна Setup или model plaza — название группы не считается постоянным.
- Определите фактический каталог
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 используйте отдельную текущую инструкцию.
- Передайте ключ через окружение и проверьте, что переменная задана, не выводя её значение:
export BETTERTOKEN_API_KEY="YOUR_API_KEY"
test -n "$BETTERTOKEN_API_KEY" && echo "BETTERTOKEN_API_KEY is set"
- Откройте новый терминал, запустите
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
Проверьте по порядку:
- Есть ли
Retry-Afterи конкретный error code. - Не запущено ли несколько агентов или CI-задач с одним ключом.
- Не исчерпан ли баланс или установленный для Workspace бюджет расходов.
- Повторяется ли ошибка на одном маленьком запросе после рекомендованной паузы.
Для временного rate limit используйте ограниченный exponential backoff с jitter. Не отправляйте бесконечные повторы: они увеличивают очередь и могут расходовать бюджет после восстановления сервиса.
Итоговый выбор
- Если баннер Codex предлагает credits или reset и вы хотите сохранить тот же плановый workflow, используйте доступный официальный вариант.
- Если нужен отдельный бюджет для автоматизации, CI или срочной задачи, настройте API workflow и контролируйте его расход отдельно.
- Если проблема в контексте, сократите или начните новую сессию — деньги и ожидание лимита не решат её.
- Если это API
429или нулевой баланс, исправляйте rate limit либо бюджет, а не подписку ChatGPT.
Перед переносом срочной работы откройте актуальную настройку BetterToken для Codex, создайте отдельный ключ и проверьте один маленький запрос. После успешной проверки задайте рабочий лимит расходов и только затем продолжайте длинную задачу.