Codex usage limits

Codex on a ChatGPT plan runs inside two windows: a rolling 5-hour limit and a weekly one. How far a window goes depends on the model and the size of your tasks. Here is how the limits work, how to check what is left, and what to do when you run out.

Updated 28 September 2026 · Serkan Korkut

How the limits work

Codex is included in the ChatGPT Free, Go, Plus, Pro, Business, Edu and Enterprise plans. Your usage counts against a rolling 5-hour window, with a weekly limit on top. The number of messages you get depends on the model, and on the size and complexity of each task.

OpenAI's own estimates of messages per 5 hours:

PlanGPT-6 AstraGPT-6 Luna
Plus, Business Standard5 to 45350 to 3,000
Pro 5x25 to 2251,750 to 14,000
Pro 20x100 to 9007,000 to 56,000

From OpenAI's Codex pricing page. The ranges are wide because one large task can use as much as dozens of small ones, and they change with the model lineup.

How to check what is left

  • In Codex, run /status in an active session.
  • On the web, open the usage page at chatgpt.com/codex/settings/usage.
  • On your disk, every Codex session log records both windows after each turn.

The logs are in ~/.codex/sessions/YYYY/MM/DD/rollout-*.jsonl. Each token_count event carries a rate_limits object like this one:

"rate_limits": {
  "plan_type": "plus",
  "primary":   { "used_percent": 81.0, "window_minutes": 300,   "resets_at": 1790640000 },
  "secondary": { "used_percent": 24.0, "window_minutes": 10080, "resets_at": 1791072000 }
}

primary is the 5-hour window, 300 minutes. secondary is the weekly one, 10,080 minutes. resets_at is a Unix timestamp. This prints the latest reading across all your sessions:

cat $(ls -tr ~/.codex/sessions/*/*/*/*.jsonl) \
  | jq -c 'select(.payload.rate_limits.primary) | .payload.rate_limits | {
      plan: .plan_type,
      five_hour_used: .primary.used_percent,
      five_hour_resets: (.primary.resets_at | todate),
      weekly_used: .secondary.used_percent,
      weekly_resets: (.secondary.resets_at | todate)}' \
  | tail -1

The numbers are as of your last Codex turn. Usage on another machine or in the ChatGPT app shows up after your next turn here.

When you hit the limit

  • A turn that is already running can finish, subject to fair use.
  • You can buy additional credits and keep working without changing plan.
  • You can run Codex with an API key instead, billed per token at standard API rates.
  • Or wait for the window to reset. The 5-hour window rolls, so capacity comes back gradually.

Both windows, always in view

Tokenmeter reads the same logs and shows both Codex windows as bars with a reset countdown, next to what each prompt used and its API-equivalent cost. Claude Code and GitHub Copilot CLI appear in the same dashboard.

Codex 5-hour  █████████████░░░  81%   resets in 1.4h
Codex weekly  ████░░░░░░░░░░░░  24%
brew install serkankorkut/tap/tokenmeter
tokenmeter start

On Windows and Linux, pipx install tokenmeter-dashboard. All install options.

Questions

How long is the Codex usage limit window?

Five hours, rolling, with a weekly limit on top. In the logs they appear as windows of 300 and 10,080 minutes.

When does the Codex limit reset?

The 5-hour window rolls, so usage from more than five hours ago stops counting. The exact reset times for both windows are in /status, on the usage page, and in the resets_at field of your session logs.

How many Codex messages do I get on ChatGPT Plus?

OpenAI estimates 5 to 45 messages per 5 hours with GPT-6 Astra and 350 to 3,000 with GPT-6 Luna. Large tasks use more of the window than small ones.

Can I keep using Codex after hitting the limit?

Yes, by buying additional credits or by switching to an API key billed at standard rates. Otherwise wait for the window to reset.