Codex недельный лимит: 7 решений и drop-in API (2026)
Время сброса Codex приходит от сервера как метка resetsAt, а не по правилу часов. Как прочитать её самому и чем продолжить работу без простоя.
TL;DR
Недельный лимит Codex можно выжечь за три часа на тарифе Plus за $20, если запустить один длинный рефакторинг, — а время сброса не выводится ни по какому правилу часов: сервер присылает метку resetsAt, и CLI просто её показывает.
Когда лимит сработал, есть два пути: ждать скользящего сброса (Plus сбрасывается каждые 5 часов, недельные лимиты — еженедельно) или переключить OPENAI_BASE_URL в Codex CLI на API с потокенной оплатой. В этом руководстве — 30-секундная диагностика, точная математика тарифов Plus и Pro и семь конкретных решений: от «вы и сейчас можете пользоваться ChatGPT» до «перевод Codex на тарифицированный API за 60 секунд».
Codex упал или у вас закончился недельный лимит? Диагноз за 30 секунд
Прежде чем менять провайдера, выясните, какое окно лопнуло. Запустите в открытой сессии Codex CLI:
codex /status
Вывод покажет три числа. Сопоставьте их с таблицей:
| Диагноз | Контекстное окно | 5-часовое окно | Недельное окно | Что делать |
|---|---|---|---|---|
| Недельный лимит исчерпан | Любое | >10% | <5% | Уровень тарифа — повышение или API-ключ |
| 5-часовой лимит исчерпан | Любое | <5% | >20% | Ждать следующего 5-часового сброса (макс. 5ч) |
| Переполнение контекста | <5% | >20% | >20% | Сжать диалог или разделить задачу |
| Фантомный лимит (issue #19215) | >40% | >50% | >50% | Перезапустить Codex CLI; если сохраняется — сменить base_url |
Если /status показывает нормальный остаток, но вы всё равно видите You've hit your usage limit. To get more access now, send a request to your admin or try again at 3:51 PM, вы наткнулись на баг фантомного лимита #19215 (зарепорчен 23 апреля 2026 на Codex CLI v0.124.0). Сразу переходите к решению #4.
Распространённые формулировки ошибок Codex → причина → решение
Точная строка, которую печатает Codex, — самый быстрый способ сортировки. Сопоставьте свою с правой колонкой:
| Текст ошибки (дословно) | Вероятная причина | Применяемое решение |
|---|---|---|
You've hit your usage limit. ... try again at HH:MM PM | Настоящий 5-часовой или недельный лимит | Решение #1 (ждать) или #5/#6 (API) |
You've hit your usage limit, но /status показывает >50% остатка | Баг фантомного лимита (#19215) на CLI v0.124.0 | Решение #4 (очистить кеш sessions) |
Кнопка request a free reset в подсказке CLI | Сохранённый сброс доступен (после 11 июня) | Решение #2 (забрать бесплатный сброс) |
HTTP-ошибка 429 Too Many Requests в API-режиме | Троттлинг при всплеске расходов на прямом API | Бэк-офф, снизить параллелизм или решение #6 (бюджет на ключ) |
HTTP-ошибка insufficient_quota в API-режиме | Достигнут лимит расходов на аккаунте OpenAI | Поднять лимит расходов в дашборде или сменить base_url |
You've reached your weekly limit без предложения сброса | Сохранённый сброс уже использован в этом запуске | Решение #3 (повышение тарифа) или #5/#6 (API) |
context_length_exceeded | Слишком длинный диалог, не лимит тарифа | codex /compact или новая сессия |
Когда чинить лимит, а когда переходить на drop-in API
Не каждый исчерпанный лимит достоин обхода. Сопоставьте свою ситуацию с правилом:
Когда чинить лимит на текущем тарифе. Лимит сработал впервые на этой неделе. /status подтверждает обычный лимит, а не фантомный баг. Задача — финальное доведение, а не свежий многочасовой агентский цикл. OpenAI начисляет аккаунтам кредиты сброса, и один из них может до сих пор лежать неиспользованным (механика — в разделе «Можно ли сбросить лимит Codex досрочно?» ниже).
Когда переходить на API с потокенной оплатой. Вы выжигаете недельные лимиты больше двух раз в месяц. Запускаете агентские workflow с 300k+ входных токенов за сессию. Нужна предсказуемая стоимость на задачу (например, для оценки клиентских работ). Лимиты ловите в CI или общих dev-средах, где многоуровневая авторизация ChatGPT не имеет смысла.
Правило остановки. Если /status показывает свежий остаток, а лимит сработал всего раз за день — ничего не делайте. Скользящее 5-часовое окно само восстановится, а смена провайдера ради единичного случая — оверинжиниринг. Закройте вкладку и пишите код.
Разбор лимитов Codex: тарифы, окна и что реально даёт каждый тариф
Codex CLI наследует лимиты выбранного пути авторизации. Три тарифа подписки и API-путь — каждый со своим потолком.
5-часовые лимиты сообщений по тарифам подписки
Тарифы подписки ChatGPT ограничивают Codex по сообщениям в скользящем 5-часовом окне, а не по токенам. Опубликованные диапазоны широкие, потому что каждое «сообщение» взвешивается по модели и сложности задачи.
| Тариф | Стоимость/мес | GPT-5.5 сообщ./5ч | GPT-5.4 сообщ./5ч | GPT-5.3-Codex сообщ./5ч |
|---|---|---|---|---|
| Free | $0 | нет (для Codex нужен Plus минимум) | нет | нет |
| Plus | $20 | 15-80 | 20-100 | 45-225 |
| Pro 5x | $100 | 75-400 | 100-500 | 225-1,125 |
| Pro 20x | $200 | 300-1,600 | 400-2,000 | 900-4,500 |
| Business | за место | зависит от распределения мест | — | — |
Источник: OpenAI Codex rate card и справочник по ценам Codex, цифры проверены 15 июня 2026. Plus (15-80) и Pro 20x (300-1,600) подтверждаются независимыми отчётами сообщества; диапазон Pro 5x 75-400 на момент написания подтверждён только rate card, без перекрёстной проверки третьей стороной.
Широкие диапазоны (например, «15-80») отражают то, что OpenAI динамически подстраивает лимиты под совокупную нагрузку и индивидуальные паттерны. Нижняя граница — то, что вы реально получаете в загруженный день.
Механика недельного лимита
Недельный лимит накладывается поверх 5-часового окна. Он сбрасывается по скользящему 7-дневному календарю с первого сообщения недели. Окна считаются независимо — и именно здесь ломается математика.
Один многофайловый цикл агента на GPT-5.5 (входо-тяжёлый: ~250k токенов / выход ~25k) сжигает примерно 30-40 сообщений в 5-часовом учёте, но засчитывается как одна «сессия» в недельном окне. Пользователи Plus, прогнавшие 2-3 тяжёлых рефакторинга подряд, могут выжечь недельный лимит, при этом 5-часовая шкала всё ещё покажет 30%+ остатка.
Путь через API-ключ (без лимита сообщений)
Если ваш OPENAI_API_KEY начинается с sk- и это обычный API-ключ, Codex CLI полностью обходит лимиты подписки. Вы платите за токены по тарифу API. Недельного лимита сообщений нет — только установленный вами лимит расходов на дашборде. Это самое чистое решение для исчерпанных недельных лимитов, и ниже мы приводим математику.
Почему один запуск агента способен выжечь недельный лимит
Неочевидная сторона недельных лимитов Codex — они не масштабируются линейно по числу сообщений из /status. Справочник по ценам Codex описывает базовую математику кредитов:
- GPT-5.5 — 125 кредитов на 1M входных токенов, 12.50 на кешированные, 750 на 1M выходных
- GPT-5.4 — 62.50 / 6.25 / 375
- GPT-5.4 mini — 18.75 / 1.875 / 113
Один цикл агента на GPT-5.5, читающий 30 файлов (~250k входных токенов) и выдающий план/diff на 25k токенов, тратит примерно:
вход: 250,000 × 125/1M = 31.25 кредита
выход: 25,000 × 750/1M = 18.75 кредита
итого: ≈ 50 кредитов за запуск
Недельный бюджет тарифа Plus на GPT-5.5 в среднем колеблется около 250-300 кредитов в зависимости от совокупной нагрузки платформы. Шесть таких циклов выжигают неделю целиком — а 5-часовая шкала в /status может всё ещё показывать 40%+ остатка, потому что 5-часовое окно меряется в сообщениях, а не в кредитах. Отсюда и кажущееся противоречие в issue #19215: здоровая 5-часовая шкала, исчерпанное недельное окно.
Структурное решение: пускать тяжёлые агентские циклы через API-ключ (без кредитов, только долларовый учёт), а подписку оставить под интерактивный чат.
Как исправить «You’ve Hit Your Usage Limit» (решения для каждого тарифа)
Ниже семь решений от наименее до наиболее радикального. Выберите первое подходящее и остановитесь.
Решение #1 — Ждать 5-часового сброса (Free / Plus, лёгкая нагрузка)
Если /status показывает остаток 5-часового окна <5%, а недельного — >30%, нужно просто подождать. Точное время сброса видно в /status — обычно в пределах 3-5 часов после последнего всплеска.
Пока ждёте, продуктивно переключить IDE в режим ручного кодинга или использовать инструмент вне Codex, не делящий этот лимит (любое автодополнение на стороне IDE).
Решение #2 — Забрать бесплатный сброс (changelog от 11 июня 2026)
Запись в Codex changelog от 11 июня 2026 ввела «банк сбросов лимита» с одним бесплатным сбросом при запуске функции для пользователей Plus и Pro. Если вы ещё не погасили его, в Codex CLI при срабатывании лимита появится опция, или через команду codex /reset на CLI ≥ v0.135.
Это одноразовое решение на каждое событие запуска. Если OpenAI выкатит ещё один сброс (массовый сброс 15 мая 2026, объявленный Tibo в X, не расходовал банковский), сверьтесь с changelog, прежде чем тратить единственный сохранённый сброс.
Решение #3 — Повысить тариф подписки
Если вы каждую неделю выжигаете недельные лимиты Plus, Pro 5x ($100) даёт 5× бюджет сообщений, Pro 20x ($200) — 20×. Точка безубыточности по сравнению с API:
| Путь | Стоимость/мес | Что получаете | Точка против API |
|---|---|---|---|
| Plus | $20 | 15-80 GPT-5.5 сообщ./5ч | ~3-5 тяжёлых сессий/неделя |
| Pro 5x | $100 | 75-400 GPT-5.5 сообщ./5ч | ~100 лёгких или 25-30 тяжёлых/месяц |
| Pro 20x | $200 | 300-1,600 GPT-5.5 сообщ./5ч | ~80 тяжёлых/месяц |
| API-ключ (напрямую) | $0 + расходы | Поминутно по токенам, без лимита | Линейно по нагрузке |
| API-ключ (ofox, возврат по августовской акции) | $0 + расходы | Поминутно по токенам, без лимита | ~$0.95 за тяжёлую сессию, ~$0.80 с акцией |
Если ваш паттерн — «изредка взрывы тяжёлой работы», API-путь почти всегда выигрывает. Подписка имеет смысл только при стабильной и предсказуемой нагрузке.
Решение #4 — Обход фантомного лимита (issue #19215)
Если /status показывает нормальный остаток, но Codex продолжает отклонять запросы с usage limit, это #19215. Баг проявляется в Codex CLI v0.124.0 (и на момент репорта оставался активным). Рабочие шаги:
codex /quit
rm -rf ~/.codex/sessions/*
codex
Очистка локального кеша сессий решает проблему в большинстве описанных случаев. Если сохраняется — отправьте логи OpenAI через тред issue и переключитесь на решение #5 (путь API-ключа), чтобы продолжать работу.
Решение #5 — Переключить OPENAI_BASE_URL на прямой эндпоинт OpenAI API
Самое чистое решение в духе «мне просто нужно продолжить код». Сгенерируйте API-ключ OpenAI (с префиксом sk-, не sk-proj- с привязкой к ChatGPT) на platform.openai.com/api-keys, затем:
export OPENAI_API_KEY=sk-your-api-key
export OPENAI_BASE_URL=https://api.openai.com/v1
codex
Теперь Codex обращается к тарифицируемому API, а не к подписке ChatGPT. Стоимость по токенам. Типичная мелкая правка бага обходится примерно в $0.40 на GPT-5.5, а мультифайловый рефакторинг (~300k входа / 30k выхода) — около $2.40, оба значения существенно меньше платного эквивалента одного сброса из банка.
Компромисс: вы теряете облачные функции, входящие в ChatGPT (интеграция со Slack, GitHub-ревью внутри дашборда Codex). Для чисто CLI-работы это решение с максимальным рычагом.
Решение #6 — Переключить OPENAI_BASE_URL на drop-in OpenAI-совместимый API
Та же форма, что и #5, но с провайдером, агрегирующим модели, дающим единый ключ и показывающим бюджет на ключ. Пример ниже использует ofox, но шаблон работает с любым OpenAI-совместимым эндпоинтом.
export OPENAI_API_KEY=ofox-your-key-here
export OPENAI_BASE_URL=https://api.ofox.io/v1
codex
Когда подписка ChatGPT уже выжжена, этот путь лучше прямого OpenAI по трём причинам:
- Та же листовая цена. ofox показывает
openai/gpt-5.3-codexпо листовым ставкам OpenAI: $1.75 / $14.00 за миллион токенов. Ставку смотрите на странице модели, а не выводите из возврата по какой-нибудь акции — истекает именно она. - Лёгкая смена модели.
openai/gpt-5.4-miniна ofox — $0.75 вход / $4.50 выход за миллион токенов; достаточно дёшево, чтобы использовать как дефолт для итеративной работы.gpt-5.3-codexприберегите для сложных рефакторингов. - Бюджет на ключ. ofox выставляет месячный лимит на каждый ключ в дашборде. Поставьте $50/мес — и вы физически не превысите этот предел, как бы агрессивно ни шёл цикл агента.
Документация интеграции ofox с Codex и более глубокое руководство по кастомному эндпоинту Codex CLI покрывают тонкую настройку под конкретные модели.
Решение #7 — Маршрутизация по нескольким провайдерам через ~/.codex/config.toml
Если команде или отдельному разработчику нужны gpt-5.3-codex для рефакторингов и более дешёвая модель для итераций, настройте двух провайдеров и пусть Codex переключается:
[model_providers.ofox]
name = "OfoxAI"
base_url = "https://api.ofox.io/v1"
wire_api = "responses"
[model_providers.openai_direct]
name = "OpenAI Direct"
base_url = "https://api.openai.com/v1"
wire_api = "responses"
[profiles.fast]
model = "openai/gpt-5.4-mini"
model_provider = "ofox"
[profiles.heavy]
model = "openai/gpt-5.3-codex"
model_provider = "ofox"
Переключайтесь по запросу: codex --profile heavy для тяжёлой работы и codex --profile fast для итераций. Полная схема — в глубоком разборе Codex CLI config.toml.
Инциденты с лимитами Codex: реальные паттерны 2026
Реальная хронология связанных с недельными лимитами инцидентов этого года. Отслеживание паттернов — единственный способ предугадать следующий.
| Дата | Событие | Источник | Последствия |
|---|---|---|---|
| 23 апреля 2026 | Заведён issue #19215 — /status показывает нормальный остаток, но Codex CLI отклоняет с «usage limit» на GPT-5.5, тарифе Business, CLI v0.124.0 | openai/codex#19215 | Затронута неизвестная доля пользователей CLI v0.124.0; обход — очистка локального кеша |
| Конец апреля 2026 | Codex достиг 3M еженедельно активных пользователей; OpenAI объявила массовый сброс лимитов | Разбор Knightli | Разовый сброс для затронутых |
| 15 мая 2026 | Tibo (OpenAI) пишет в X: мониторинг продолжается, ручной сброс отправлен тем же вечером | Тот же разбор Knightli | Сброс был реактивным, без постоянного повышения лимитов |
| 11 июня 2026 | В changelog добавлен «банк сбросов лимита» — один бесплатный сброс на пользователя при запуске | Codex changelog | Первый пользовательский механизм сброса; одноразовый |
| 4 июня 2026 | Поддержка моделей Bedrock — Codex может ходить через квоту, управляемую Amazon | Codex changelog | Косвенное облегчение: квоты на стороне Bedrock вместо тарифа ChatGPT |
Паттерн очевиден: OpenAI выпускает тактические сбросы, а не постоянное повышение лимитов. Пользователям Plus и Pro, упирающимся в лимит дважды за месяц, стоит готовиться к API-пути, а не рассчитывать на третий сброс.
Когда лимит не сбросится: drop-in API-альтернативы, работающие прямо сейчас
Если ждать нельзя, варианты ниже отсортированы по цене переключения. Заголовок сравнения:
| Провайдер | base_url | gpt-5.3-codex вход $/M | gpt-5.3-codex выход $/M | Бюджет на ключ | Время переключения |
|---|---|---|---|---|---|
| ofox | https://api.ofox.io/v1 | $1.75 | $14.00 | Да (дашборд) | ~60 с (2 env-переменные) |
| OpenAI напрямую | https://api.openai.com/v1 | $1.75 | $14.00 | Только на аккаунт | ~60 с (2 env-переменные) |
| Amazon Bedrock | (прокси Bedrock) | зависит от региона | зависит от региона | Лимит на аккаунт AWS | 10-30 мин (IAM + регион) |
| Сменить инструмент | неприменимо (напр. Claude Code) | неприменимо — другая модель | неприменимо | зависит от провайдера | часы (переписать workflow) |
Источник: цены проверены 15 июня 2026 по каталогу моделей ofox и справочнику по ценам Codex.
Вариант A — ofox (OpenAI-совместимый drop-in)
Плюсы: бюджет расходов на каждый ключ, единый биллинг при параллельном использовании Claude/Gemini, Codex CLI официально поддерживается. Ставки совпадают с листом OpenAI.
Как переключить: две env-переменные. Установите OPENAI_BASE_URL=https://api.ofox.io/v1 и OPENAI_API_KEY со значением вашего ofox-ключа. Перезапустите Codex. Всего меньше 60 секунд.
ID моделей API: openai/gpt-5.3-codex, openai/gpt-5.5, openai/gpt-5.4, openai/gpt-5.4-mini. Полный каталог — в каталоге моделей ofox.
Вариант B — Прямой API OpenAI
Плюсы: тот же провайдер, что и в подписке ChatGPT, нет вопросов о доверии стороннему сервису, полный модельный ряд.
Минусы: листовые цены (без скидки), нет бюджета на ключ без своего скрипта.
Как переключить: получите sk- API-ключ на platform.openai.com/api-keys, поставьте OPENAI_BASE_URL=https://api.openai.com/v1. Перезапустите Codex.
Вариант C — Amazon Bedrock (релиз 4 июня 2026)
Плюсы: квота живёт внутри вашего AWS-аккаунта, удобно если вы уже платите AWS.
Минусы: каталог моделей только AWS (сейчас это подмножество OpenAI), региональные ограничения доступности, авторизация сложнее env-переменных.
Как переключить: настройте учётные данные Bedrock, установите OPENAI_BASE_URL на ваш Bedrock-прокси. Шаги настройки см. в changelog.
Вариант D — Полная смена инструмента
Если недельные лимиты Codex CLI продолжают кусать, можно перейти на Claude Code (на claude-opus-4-8, текущем флагмане Anthropic по состоянию на июнь 2026, доступен на marketplace ofox) или другого агента-кодера. Трение — в переписывании конфигов: ваш Codex AGENTS.md, промпты и привычки harness не переносятся напрямую. Держите этот вариант под «я решил, что Codex мне не подходит», а не «мне нужно поставить сегодня».
Детальный взгляд на перенос workflow — в реальном workflow программирования с Codex.
Как мониторить состояние Codex и ограничить будущий расход
Когда кровь остановлена, настройте систему, которая не даст влететь в ту же стену снова.
Проверяйте /status перед каждой тяжёлой задачей
Сделайте это рефлексом. Любая задача более чем на 100k входных токенов заслуживает предварительной проверки /status. Если в любом из окон осталось меньше 30% — переключайте сессию на авторизацию API-ключом.
Подпишитесь на страницу статуса OpenAI
status.openai.com показывает сбои API и деградации Codex почти в реальном времени. Подпишитесь на email или RSS — вы хотите узнать о проблемах Codex раньше, чем потратите 10 минут на подозрения, что у вас сломан конфиг.
Следите за версией Codex CLI
Баг фантомного лимита (#19215) был привязан к CLI v0.124.0. Зафиксируйте проверенную версию:
npm install -g @openai/codex@0.135.0
Проверьте версию через codex --version. После обновления подождите хотя бы неделю на новой версии — пусть регрессии всплывут.
Установите лимит расходов на каждый ключ при работе через API
После перехода на тарифицируемый API (решения #5/#6) поставьте жёсткий лимит. На прямом OpenAI это «Spend limits» в дашборде. На ofox — месячный лимит на каждый ключ на странице ключей. Разумный стартовый лимит для одного разработчика: $50/мес. Поднимите после месяца наблюдения реального расхода.
Следите за дневными расходами 10-строчным shell-хуком
Прагматичная альтернатива надежде на алерты дашборда — локально логировать счётчики токенов каждой сессии Codex и складывать дневной итог. Положите в ~/.codex/hooks/post-session.sh:
#!/bin/bash
# Дописывает счётчики токенов сессии в ~/.codex/spend.log
LOG=~/.codex/spend.log
TS=$(date -u +%Y-%m-%dT%H:%M:%SZ)
echo "$TS in=$CODEX_INPUT_TOKENS out=$CODEX_OUTPUT_TOKENS model=$CODEX_MODEL" >> "$LOG"
Затем читайте сегодняшний итог:
grep "^$(date -u +%Y-%m-%d)" ~/.codex/spend.log | \
awk '{for(i=1;i<=NF;i++){if($i~/^in=/){gsub("in=","",$i);ins+=$i};if($i~/^out=/){gsub("out=","",$i);outs+=$i}}} \
END{printf "today: %d input / %d output tokens\n", ins, outs}'
Точных долларов из чека вы так не получите (цены моделей меняют арифметику), но увидите «сегодня уже выжжено 800k токенов» до того, как стартанёте следующий цикл агента. Один этот поведенческий толчок на практике срезает недельный расход на 20-30%.
По умолчанию — дешёвая модель
Самая дешёвая надёжная модель для итеративной работы — openai/gpt-5.4-mini на ofox за $0.75/M входа. Поставьте её моделью Codex CLI по умолчанию и переключайтесь на gpt-5.3-codex только когда явно нужны флагманские возможности. Неделя такого паттерна обычно режет расход вдвое.
Более широкий шаблон — в руководстве по BYO-настройке кастомных провайдеров моделей.
Общая конфигурация для команды (multi-developer)
Если в команде трое и больше разработчиков упираются в один и тот же недельный лимит, индивидуальные подписки ChatGPT перестают быть правильной формой. Экономика переворачивается:
- 5 разработчиков × $20 Plus = $100/мес, но лимиты индивидуальные и непредсказуемые
- 5 разработчиков × общий API-ключ с лимитом $50/мес = предсказуемый потолок $250/мес и пул использования
Командный шаблон, который используют большинство клиентов ofox, — один API-ключ на окружение (dev, staging, ci), а не на разработчика. config.toml лежит в репозитории, env-переменные подтягиваются из менеджера секретов каждого разработчика. Пример коммитимой конфигурации репо:
# .codex/config.toml — закоммичено в репо
[model_providers.team]
name = "Team Shared (ofox)"
base_url = "https://api.ofox.io/v1"
wire_api = "responses"
# Авторизация — через $OPENAI_API_KEY каждого разработчика (локально, не в репо)
[profiles.default]
model = "openai/gpt-5.4-mini"
model_provider = "team"
[profiles.heavy]
model = "openai/gpt-5.3-codex"
model_provider = "team"
Каждый разработчик локально ставит свой OPENAI_API_KEY (указывающий на ключ для разработчика или команды в менеджере секретов). Мониторинг расходов сходится на одном дашборде ofox, а не на пяти отдельных ChatGPT-аккаунтах. CI-пайплайны используют отдельный ключ с более строгим лимитом на запуск.
Отличие от индивидуальных подписок ChatGPT: когда один разработчик отгружает рефакторинг ценой $4 по токенам, вся команда видит это на одном дашборде. Когда пять отдельных ChatGPT-подписок каждый выжигает свой недельный лимит в одну и ту же неделю, у вас нет ни видимости, ни общего бюджета.
Замечание об честности и стоимости
Переключение Codex CLI с тарифа ChatGPT за $20 на OpenAI-совместимый API обходится примерно в $0.15 за мелкую правку бага на gpt-5.3-codex по листовой ставке и ближе к $0.13 во время августовской акции — меньше, чем подписка «съедает» за один плохой день фантомных лимитов.
Это и есть реальная арифметика. Подписки ChatGPT хороши при стабильной нагрузке в пределах лимита. Как только нагрузка становится взрывной — неделя тяжёлого рефакторинга, дедлайн CI, один цикл агента, трогающий 30 файлов, — подписочный потолок становится неправильной абстракцией. Тарификация по токенам платит за то, что вы реально использовали, и даёт отгружать.
Как Codex решает, когда сбросится ваш лимит?
Он не решает. Бэкенд присылает метку времени, а CLI её отрисовывает.
Codex CLI поставляется с машиночитаемым описанием собственного протокола, так что это можно проверить, а не выводить догадками. Запустите вот это и прочитайте сгенерированную схему сами:
codex app-server generate-json-schema --out /tmp/codex-schema
На версии 0.147.0 это выдаёт 557 определений типов. Тот, который управляет каждым отсчётом до сброса, куда вы когда-либо всматривались, шириной в три поля:
| Поле | Тип | Смысл |
|---|---|---|
usedPercent | int32, обязательное | Сколько окна вы уже выжгли |
resetsAt | int64, может быть null | Unix-время в секундах, когда окно очистится |
windowDurationMins | int64, может быть null | Длина окна в минутах |
Обязательное только usedPercent. resetsAt может быть null, и это документированный ответ на самую частую претензию к лимитам Codex: когда CLI не говорит, во сколько сбросится лимит, он не скрывает число — у него его нет.
Три следствия, которые стоит усвоить:
- Никакого правила часов, которое можно расшифровать, не существует. Ни «сброс в понедельник в полночь UTC», ни «через 5 часов после первого сообщения». Ответ — то, что прислал сервер, и это может измениться без релиза клиента.
- Окон ровно два, а не пять.
RateLimitSnapshotнесёт окнаprimaryиsecondary, и больше ничего. Строка состояния держит отдельные подписи для 5-часового, дневного, недельного, месячного и годового лимитов, так что эти два слота получают имя изwindowDurationMinsв момент отрисовки. Надпись «weekly» не означает, что недельная корзина существует как отдельная квота. - Обновления разреженные. Уведомление
account/rateLimits/updatedдокументировано как «sparse rolling rate-limit update», и в его собственном описании сказано, что отсутствующие в обновлении nullable-поля «не сбрасывают ранее наблюдавшееся значение». Замерший на вид индикатор может просто не быть переотправлен.
Тот же снимок несёт части, которые большинство руководств опускает. planType — перечисление из 15 значений, включая go, prolite, ent26 и четыре отдельных варианта business и enterprise, так что форма квоты зависит от конкретного тарифа, а не от его названия. rateLimitsByLimitId — это карта по метрируемому limit_id, например codex, поэтому один аккаунт может держать несколько независимых корзин лимитов. А rateLimitReachedType различает пять состояний, которые все всплывают как «you’ve hit your usage limit»:
rate_limit_reached
workspace_owner_credits_depleted
workspace_member_credits_depleted
workspace_owner_usage_limit_reached
workspace_member_usage_limit_reached
Если вы на тарифе с рабочим пространством, именно это поле отличает «подождать» от «попросить владельца добавить кредиты», и именно поэтому CLI иногда предлагает уведомить владельца вместо того, чтобы предложить сброс.
Можно ли сбросить лимит Codex досрочно?
Только обменяв кредит сброса, который аккаунт уже заработал, и только пока вы действительно упёрлись в лимит.
В Codex CLI 0.147.0 для этого есть настоящее меню. /usage предлагает «View account usage or redeem an earned reset», «Redeem usage limit reset» и пункт «Full reset» с описанием «Reset your current usage limits», за шагом подтверждения («Use this reset?» / «Yes, use reset»). Под этим app server выставляет account/rateLimitResetCredit/consume.
Внутреннее имя — самая полезная часть: это кредит, а не команда. Каждый из них — запись:
| Поле | Смысл |
|---|---|
id | Непрозрачный идентификатор бэкенда |
grantedAt | Unix-секунды, когда OpenAI его начислила |
expiresAt | Unix-секунды или null, если он не истекает |
resetType | codexRateLimits или unknown |
status | available, redeeming, redeemed, unknown |
title / description | Отображаемые строки от бэкенда |
Сводка по аккаунту отдаёт availableCount плюс необязательный список детальных строк, и схема предупреждает, что бэкенд может урезать этот список, поэтому его длина бывает меньше availableCount. Обмен требует обязательный idempotencyKey (UUID, который вы переиспользуете при повторе) и необязательный creditId; без ID бэкенд сам выберет следующий доступный кредит.
Ответ — ровно один из четырёх исходов:
| Исход | Смысл |
|---|---|
reset | Кредит потрачен, подходящие окна сброшены |
nothingToReset | Ни одно текущее окно лимита не подходит для сброса |
noCredit | У аккаунта нет заработанных кредитов сброса |
alreadyRedeemed | По этому idempotency key сброс уже прошёл |
nothingToReset отвечает на вопрос, который люди задают на самом деле. Кредит нельзя потратить до того, как вы упёрлись в лимит, а значит запасти сброс перед тяжёлой сессией невозможно. CLI показывает это как «Your usage does not need a reset right now.». Родственное сообщение «You don’t have any usage limit resets available» соответствует noCredit.
Если прочитать это вместе, конструкция закрывает как раз то, что многие идут искать. Сброс начисляется одному аккаунту, обменивается собственной аутентифицированной сессией этого аккаунта, требует, чтобы аккаунт прямо сейчас был ограничен, и расходуется один раз. Это не покупаемый товар, он не передаётся, и никакой сторонний сервис не может его создать; всё, что рекламирует массовые сбросы квот, либо продаёт вам доступ к чужому аккаунту, что нарушает условия OpenAI и подставляет оба аккаунта, либо не продаёт ничего.
Что OpenAI действительно продаёт — это кредиты, и CLI теперь говорит об этом прямо. Сообщения о лимите различаются по тарифу: бесплатные аккаунты отправляют на Plus, аккаунты Plus получают «Upgrade to Pro … visit https://chatgpt.com/codex/settings/usage to purchase more credits», а участники рабочего пространства — «Request a limit increase from your owner to continue using codex.». Есть ещё rate-limit-switch-prompt, который срабатывает при приближении к лимиту и предлагает более дешёвую модель на следующие ходы, с опцией «больше не показывать». Если вы однажды её закрыли и потом не видели, вот почему.
Как прочитать своё время сброса без TUI
Управляйте app server через stdio. Это делают два метода только для чтения: account/rateLimits/read и account/usage/read.
{
printf '%s\n' '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"clientInfo":{"name":"probe","version":"0.0.1"}}}'
printf '%s\n' '{"jsonrpc":"2.0","method":"initialized"}'
printf '%s\n' '{"jsonrpc":"2.0","id":2,"method":"account/rateLimits/read"}'
sleep 5
} | codex app-server
С выполненным входом это вернёт описанный выше снимок, включая resetsAt, и вы можете форматировать его как угодно. Без входа возвращается конкретная ошибка, а не пустой объект, и её стоит узнавать:
{"error":{"code":-32600,"message":"codex account authentication required to read rate limits"},"id":2}
account/usage/read ведёт себя так же и отвечает другим сообщением: «codex account authentication required to read token usage». Этот метод возвращает суммарные токены за всё время, дневные корзины, пиковое дневное число токенов и, для любопытных, currentStreakDays и longestRunningTurnSec.
Оба безопасно опрашивать. account/rateLimitResetCredit/consume — нет: он тратит реальный кредит на вашем аккаунте, так что держите его вне скриптов и оставьте диалогу подтверждения в /usage.
Источники
- OpenAI Codex rate card
- Справочник по ценам Codex
- Codex changelog
- openai/codex#19215
- История сбросов Knightli
- Каталог моделей ofox
- Документация интеграции ofox с Codex
- Руководство по кастомному эндпоинту Codex CLI (блог ofox)
- Глубокий разбор Codex config.toml (блог ofox)
- Реальный workflow программирования с Codex CLI (блог ofox)
Часто задаваемые вопросы
- Почему недельный лимит Codex срабатывает раньше ожидаемого?
- Две причины. Во-первых, /status показывает 5-часовое и недельное окна отдельно, но один длинный запуск агента может выжечь оба сразу — issue #19215 в openai/codex (23 апреля 2026) фиксирует случай, когда лимит сработал при 78% остатка в 5-часовом окне и 68% в недельном. Во-вторых, GPT-5.5 тратит 125 кредитов на 1M входных токенов и 750 на 1M выходных, поэтому один крупный рефакторинг легко выжигает недельный бюджет Plus с его 15-80 сообщениями за 5 часов.
- Как узнать, когда сбросится мой недельный лимит Codex?
- Время сброса — это Unix-метка, которую присылает сервер, а не правило часов, которое можно вывести самому. Codex CLI 0.147.0 читает её как поле resetsAt у каждого окна лимита, рядом лежат usedPercent и windowDurationMins. Запустите /status в TUI или вызовите account/rateLimits/read у app server, чтобы получить сырое число. resetsAt может быть null, так что CLI действительно не всегда знает ответ.
- Можно ли сбросить лимит Codex досрочно?
- Только обменяв кредит сброса, который OpenAI уже начислила вашему аккаунту. В Codex CLI это пункт «Redeem usage limit reset» в /usage, а app server вызывает account/rateLimitResetCredit/consume. Возвращается один из четырёх исходов: reset, nothingToReset, noCredit или alreadyRedeemed. Кредиты привязаны к аккаунту, их нельзя купить, передать или накопить.
- Почему Codex говорит, что моему расходу сброс сейчас не нужен?
- Потому что consume вернул nothingToReset: ни одно текущее окно лимита не подходит для сброса. Кредит нельзя потратить до того, как вы реально упёрлись в лимит, поэтому запасти сброс перед тяжёлой сессией не получится.
- У ChatGPT API лимит отдельный от Plus/Pro Codex?
- Да. Подписки ChatGPT Plus, Pro, Business и Enterprise применяют 5-часовые и недельные лимиты по сообщениям. API-ключи (sk-...) тарифицируются по токенам без лимита на сообщения — только ваш лимит расходов на дашборде OpenAI. Codex CLI работает с обоими типами авторизации.
- Можно ли продолжать использовать Codex CLI после исчерпания недельного лимита?
- Да. Установите OPENAI_API_KEY на API-ключ с поминутной оплатой и OPENAI_BASE_URL на прямой эндпоинт OpenAI или OpenAI-совместимого провайдера, например https://api.ofox.io/v1. Codex переключит транспорт без перезапуска.
- Сколько стоит GPT-5.3-Codex за миллион токенов?
- Напрямую у OpenAI: $1.75 за вход, $0.175 за кэшированный вход, $14.00 за выход на 1M токенов. ofox показывает ту же модель (openai/gpt-5.3-codex) по тем же $1.75 / $14.00, кэшированный вход — $0.18. Постоянных скидок нет ни там, ни там, так что сравнивать надо ставку.
- Что выгоднее, если я постоянно исчерпываю лимит — Plus или Pro?
- Если вы выжигаете недельный лимит $20 Plus за 2-3 тяжёлые сессии, математика указывает на API с потокенной тарификацией: типичный мультифайловый рефакторинг (300k входа / 30k выхода) обойдётся в $0.95 на GPT-5.3-Codex по одинаковой листовой ставке у OpenAI и у ofox, или примерно в $0.80 фактически, пока идёт августовская акция — меньше $1 за сессию. Pro 5x за $100/мес окупается только при 100+ сессиях в месяц.
- Не заблокируют ли мой аккаунт OpenAI за переключение Codex CLI на другого провайдера?
- Нет. OPENAI_BASE_URL — официальный параметр конфигурации Codex CLI, задокументированный в справочнике для разработчиков OpenAI. С февраля 2026 Codex CLI говорит только по OpenAI Responses API (поддержка Chat Completions удалена — см. openai/codex#7782 и сломанные следом janhq/jan, cc-switch, CLIProxyAPI), поэтому провайдер должен выставлять
/v1/responses; в~/.codex/config.tomlукажитеwire_api = "responses". - Как безопаснее всего ограничить расходы на Codex в будущем?
- Поставьте жёсткий месячный лимит расходов на дашборде OpenAI или используйте провайдера с бюджетом на каждый ключ. Сочетайте с проверкой /status перед любой операцией свыше 100k токенов и держите gpt-5.4-mini ($0.75/M входа на ofox) как модель по умолчанию для дешёвых итераций, переключаясь на gpt-5.3-codex только для сложных рефакторингов.


