Codex rate limits: see usage and avoid 429 errors
Nothing breaks flow like a 429 error mid-task. The Codex CLI does not show your usage stats, so you only learn about rate limits when you hit them. CodexUse monitors Codex rate limits across all your profiles in real time.
How Codex rate limits work
The Codex CLI uses your ChatGPT or OpenAI API credentials to access models. Rate limits are enforced by OpenAI based on your subscription tier:
| Subscription | Limit type | Typical behavior |
|---|---|---|
| ChatGPT Plus ($20/mo) | Messages per time window | Around 40 messages per 3 hours for GPT-4 class models |
| ChatGPT Team | Higher message limits | Around 100 messages per 3 hours, shared across workspace |
| ChatGPT Enterprise | Custom limits | Varies by contract |
| OpenAI API | Tokens per minute, requests per minute | Based on usage tier |
What happens when you hit a Codex rate limit
When the Codex CLI exceeds your quota, OpenAI returns an HTTP 429 error:
Error: 429 Too Many Requests Rate limit exceeded. Please try again in 1847 seconds.
The reset time tells you when you can retry.
The problem: no proactive visibility
The Codex CLI does not have a command to check your current usage or remaining quota. You only learn about Codex rate limits when you hit them. This is frustrating because:
- You cannot plan around limits
- Long-running tasks get interrupted without warning
- You do not know which account has headroom when you need to switch
How CodexUse monitors Codex rate limits
CodexUse tracks your usage and shows you the rate limit status for each profile. The rate-limit radar shows:
- Usage percentage: How much of your estimated quota you have consumed
- Reset time: When the current rate window expires
- Per-profile status: See which accounts have headroom vs. which are running hot
Auto-roll (Pro feature)
CodexUse Pro can automatically switch to a fresher Codex profile when your current account approaches its limit. This keeps you working without manual intervention.
Strategies to avoid Codex rate limit errors
1. Distribute work across accounts
If you have multiple ChatGPT subscriptions, switch between them to spread the load. Each account has its own quota.
2. Batch large tasks strategically
Before starting a big refactoring session, check your usage. If you are already at 70% usage, either wait for the reset or switch to a fresher account first.
3. Keep a reserve account
Maintain one Codex profile with minimal usage as your "emergency" account. When others hit limits, you have a fallback.
4. Use lighter models for simple tasks
The Codex CLI config lets you control model and reasoning effort. Using a lighter model for routine tasks saves quota for when you need full power.
Troubleshooting
| Symptom | Likely cause | Action |
|---|---|---|
| 429 immediately after switching accounts | That profile is also rate-limited | Check usage for all profiles; use one with actual headroom |
| Usage shows low but 429s still happen | Limits changed or usage estimate is incomplete | OpenAI may have adjusted limits; the radar is an estimate |
| 429 with very long reset time | Hit a hard daily or weekly limit | Wait for reset or use a different account type |
Understanding the rate window
ChatGPT rate limits typically use rolling windows (e.g., 40 messages in the last 3 hours). This means:
- Old messages "fall off" as time passes, freeing up quota
- You do not have to wait for a full reset. Partial recovery happens continuously
- Spreading usage evenly is better than bursts followed by waiting
Related
Why am I getting Codex 429 errors?
You have exceeded your subscription's rate limit. Wait for the reset window or switch to another account with available capacity.
How can I see my Codex rate limit status?
The native CLI does not expose this. CodexUse monitors usage per profile so you can see before you hit limits.
Does switching Codex accounts help with rate limits?
Yes. Each account has its own quota. Switching to a fresh account gives you a new allocation.