Blog

Codex usage limits: 5-hour and weekly limits, reset times

Codex on a ChatGPT plan has a short rolling window that refills within hours and a weekly limit on top. Both count model work, not messages, so long sessions, high reasoning effort, big AGENTS.md files and noisy tool output drain them fastest. New sessions per task, lower effort and compressed context make it last.

67.7%
of agent spend is re-reading old context
13.2%
is the output you asked for
37.3%
average bill cut through condense across replays

How Codex usage limits work

A ChatGPT sign-in draws from your plan: a short window costs you an afternoon, the weekly limit can cost days. An API key has no weekly allowance, only per-minute rate limits.

Sign-inWhat limits youWhat happens at the limit
ChatGPT planShort window and weekly limitWait for reset or upgrade
OpenAI API keyPer-minute rate limits and your budgetRequests slow or fail; spend keeps going

How to check your Codex usage

Run /status in the Codex CLI at the start of a big task. It shows window and weekly use and when each resets. Your ChatGPT settings show usage across CLI, IDE and cloud tasks.

What burns through your limit

Every turn re-sends the system prompt, AGENTS.md, tool definitions and everything still in context. Four things drive most of it.

  1. 1
    Context size

    Twenty files read early ride along on every later turn until compaction.

  2. 2
    Reasoning effort

    Reasoning tokens count. High effort on simple edits wastes allowance.

  3. 3
    AGENTS.md size

    Sent with every request, plus any nested AGENTS.md files.

  4. 4
    Tool output

    One test run or repo-wide search can add tens of thousands of tokens.

Seven steps to make it last

  1. 1
    One task per session

    /new when you switch tasks.

  2. 2
    Compact on purpose

    Run /compact at a natural break. See compact vs clear.

  3. 3
    Match effort to the task

    Use /model: high effort to plan, lower to implement.

  4. 4
    Keep AGENTS.md short

    Commands, conventions and hard rules. Move the rest to docs.

  5. 5
    Keep command output quiet

    Failing tests only, tail long logs. See reducing tool output tokens.

  6. 6
    Trim MCP servers

    Turn off the ones a project does not use.

  7. 7
    Write a handoff before the limit

    Done, broken, next step. Start the next session from the note.

Limit reached: your options

What to do depends on which limit you hit. If one long session ate the week, fix session hygiene before you upgrade.

You hitWhat to do
Short windowWait a few hours. Review changes and write the handoff note.
Weekly limitUpgrade, switch to an API key, or move to another agent.
API rate limitSlow parallel runs, spread jobs out, or request higher limits.

Compress what Codex re-sends

The rest of the cost is history the model already used but still receives every turn.

condense compresses that history and never rewrites code, patches or errors. Add a provider in ~/.codex/config.toml; ChatGPT logins still use your plan. See the coding agents docs, our quality evaluation and Codex vs Claude Code.

Frequently asked questions

What does "usage limit reached" mean in Codex?

You used your allowance for the window or the week. Wait for the reset Codex shows, switch to an API key, or upgrade your plan.

When does the Codex weekly limit reset?

On its own cycle, separate from the short window. Run /status in the Codex CLI to see both resets.

Is the Codex CLI rate limit different from the usage limit?

Yes. The usage limit is your plan allowance. On an API key there is no weekly allowance, only per-minute rate limits set by your account tier.

How much Codex do I get on ChatGPT Plus?

OpenAI publishes ranges that change, so check its Codex pricing page. In practice it depends on session length, model and effort.

Does reasoning effort affect my Codex usage?

Yes. Higher effort means more reasoning tokens per turn. Save high effort for planning and hard bugs.

Can I check my Codex usage outside the CLI?

Your ChatGPT account settings show it. Through condense, dense info shows tokens before and after compression.

All posts