The short version
Both tools give you two allowances that run at the same time: a short five-hour window and a weekly one. Whichever runs out first stops you.
| Claude Code · Pro, Max | Codex · ChatGPT plans | |
|---|---|---|
| Short window | A session limit that resets every five hours. | A five-hour window on Plus and Standard Business. Pro plans currently have no five-hour limit. |
| Weekly | A weekly limit on top. Max also has a separate weekly limit for Fable. | Weekly limits may also apply. |
| Shared with | Claude chat and Claude Code use the same limits. | Cloud tasks may use more of your allowance than local messages. |
| Published numbers | None. Anthropic does not publish message counts for either window. | Estimates only, per model. Example: GPT-6.1 Sol, 15–160 local messages per five hours on Plus. OpenAI says these are not fixed limits. |
| Where you stand | /usage in Claude Code, or claude.ai › Settings › Usage | /status in the Codex CLI, or chatgpt.com/codex/settings/usage |
| When you hit it | Wait for the reset time in the message, or turn on usage credits (/usage-credits). | Wait for that reset, or buy credits (Plus and Pro). |
About numbers you see online. Posts that say “Pro gets N prompts” are guesses. Anthropic publishes no counts. OpenAI publishes per-model ranges and calls them estimates. How much one message costs depends on the model, how long the conversation is, effort, tools and MCP servers.
How resets work
- Claude: two clocks. The session limit resets every five hours and the weekly limit once a week. The status line docs describe the five-hour window as rolling. Anthropic doesn’t publish when the weekly reset falls, so read it off your own account: the limit message, /usage and Settings › Usage show the reset time.
- Switching models doesn’t reset anything. “You’ve hit your session limit” and “You’ve hit your weekly limit” cover all models. A model-specific message (“You’ve hit your Opus limit”) is different: switching to another model family with /model keeps you working.
- Mid-answer. If you hit the five-hour limit while Claude is replying, Claude Code may finish the current step (“Usage limit reached · wrapping up”). This is small and capped, counts toward your weekly limit, and is still rolling out.
- Waiting it out. Claude Code v2.1.234 and later can wait for the reset and pick up the interrupted task on its own; see /rate-limit-options.
- Codex. Hit either limit and you wait for that reset or buy credits. OpenAI’s own tip: check the usage dashboard every week or two to see your pace.
See where you stand
- /usage in Claude Code. Plan usage bars, plus a breakdown of what used them: skills, subagents, MCP servers, long context, cache misses. Press d or w to switch between 24 hours and 7 days. The breakdown only covers this machine.
- claude.ai › Settings › Usage. Progress bars for the five-hour session and the weekly limit.
- /status in the Codex CLI, or the dashboard at chatgpt.com/codex/settings/usage.
- Always on screen (Claude Code). A status line script receives rate_limits.five_hour.used_percentage and rate_limits.seven_day.used_percentage (Pro and Max, after the first reply in a session). Add this to ~/.claude/settings.json:
{
"statusLine": {
"type": "command",
"command": "~/.claude/statusline.sh"
}
}
Then save this script as ~/.claude/statusline.sh and run chmod +x ~/.claude/statusline.sh:
#!/bin/bash
# ~/.claude/statusline.sh (chmod +x it; needs jq)
input=$(cat)
FIVE_H=$(echo "$input" | jq -r '.rate_limits.five_hour.used_percentage // empty')
WEEK=$(echo "$input" | jq -r '.rate_limits.seven_day.used_percentage // empty')
OUT=""
[ -n "$FIVE_H" ] && OUT="5h $(printf '%.0f' "$FIVE_H")%"
[ -n "$WEEK" ] && OUT="${OUT:+$OUT · }7d $(printf '%.0f' "$WEEK")%"
echo "${OUT:-limits: after the first reply}"
What burns it fastest
- Long sessions. Claude Code sends the whole conversation with every request. A one-line question in a session that has been open all day still costs the whole conversation.
- Coming back after a break. On a subscription the prompt cache lasts an hour. The first message after that re-reads your whole context at full price.
- Subagents, teams and loops. Each subagent sends its own requests. Agent teams use roughly 7× the tokens of a normal session when teammates run in plan mode. A /loop keeps firing while you are away.
- Compacting a huge context. /compact reads everything it summarizes, so it is a big request itself. /clear costs nothing.
- Codex extras. Fast mode uses 2.5× the included usage, Ultrafast 8×. Image generation burns limits about 3–5× faster. Every MCP server adds context.
8 habits that stretch them
- Clear between unrelated tasks. /rename the session, /clear, and /resume it later if you need it.
- Match the model to the job. Sonnet handles most coding. Keep Opus for hard design calls, and give simple subagents model: haiku.
- Plan before it codes. Shift+Tab into plan mode for anything big. Press Esc the moment it heads the wrong way; /rewind goes back.
- Keep CLAUDE.md under 200 lines. It loads every session. Move workflow-only instructions into skills, which load when used.
- Turn off MCP servers you aren’t using. /mcp lists them. A CLI such as gh costs less context than an MCP server.
- Lower the effort for easy work. /effort for renames, small fixes and lookups.
- Come back within the hour, or start fresh. After an hour away, a fresh session with a short summary is cheaper than poking the old one.
- Keep noisy output out of the main thread. Let a subagent run the test suite or dig through logs and report back, or use a hook that trims test output to the failures.
On Codex, the same habits apply. When you are close to a limit, run work locally instead of as a cloud task, skip Fast and Ultrafast, and check /status before you start something long.
sources
Checked against these official pages on 20 October 2026. Plans and limits change; if a page here disagrees with them, the official page wins.