Codex Reset Date Keeps Moving: Separate Automatic, Banked, and Paid Resets
If the Codex reset date changes after a limit refresh, do not treat the product as using a fixed Monday-to-Sunday quota. The current OpenAI guidance separates automatic, banked, and paid instant resets; a paid reset can anchor the next weekly period to your first Work or Codex request after the reset is applied. The date in /status is therefore a state to inspect, not a calendar promise.
The practical fix is to identify the reset state before deciding to wait, redeem a banked reset, buy an instant reset, or use credits. Check the current session’s /status, compare it with the Codex usage page, and record the exact error before consuming another entitlement.
Separate the usage states
These labels are easy to mix up:
| State | What it changes | What it does not prove |
|---|---|---|
| 5-hour or weekly limit | How much included Codex usage remains in the displayed window | That every new request will be accepted if the backend state has not synchronized |
| Automatic or included-limit reset | Refreshes an eligible usage window when the service resets it | That a banked reset was consumed or that credits were added |
| Banked rate-limit reset | Uses a saved entitlement to refresh eligible 5-hour and weekly limits, and can change the weekly reset date | That it adds API credits, permanently increases the limit, or transfers to another account |
| Paid instant reset | Immediately restores eligible 5-hour and weekly usage; the next weekly period starts with the first Work or Codex request after it is applied | That it grants an extra weekly entitlement or can be saved for later |
| Credits | Provides a separate paid flexible-usage balance after included limits | That the included window or reset date changes |
OpenAI’s current paid reset guidance says an eligible instant reset applies immediately and pulls the normal allowance forward; it is not an extra weekly allocation. The separate banked reset guidance says a banked reset remains available until it is used or expires. Availability and wording vary by plan, account, workspace, and region, so treat the option shown for your account as authoritative.
Check the live state inside the current session
In the Codex CLI, open the affected session and run:
/statusRecord these fields before trying another long prompt:
- the signed-in account or plan shown by the session;
- the 5-hour and weekly remaining percentages;
- each displayed reset time and its time zone;
- any available banked reset or instant-reset offer, including an expiry if shown;
- the active model and reasoning mode, if shown;
- the Codex CLI version and the time you ran the check.
/status is thread-scoped interactive information. Do not build a CI monitor around codex status unless your installed version explicitly provides a supported machine-readable command.
The app-server protocol documents the same concepts as structured rate-limit fields: a percentage used, a window duration, a Unix reset timestamp, and available reset credits. That is useful for understanding the data model, but it is not a promise that every client exposes every field in the same screen.
Why the reset time can change
There are three expected state transitions and one mismatch to separate:
- An included limit refreshes. A 5-hour or weekly window can refresh without creating a banked entitlement or adding credits.
- A banked reset is redeemed. The saved reset can refresh eligible windows and change the weekly reset date; it is not a flexible balance.
- A paid instant reset is applied. The weekly period is anchored by the first Work or Codex request after application, so the next date may move even when the payment happened earlier.
- The service changes or corrects the account state. A usage correction, delayed entitlement update, or backend mismatch can change the next reset shown by the client. That is different from an expected reset transition.
Use the observation—not only the displayed hour—to choose the next step:
| Observation | Likely interpretation | Safe next step |
|---|---|---|
| The date changes after the first request following a paid instant reset | Expected weekly-window re-anchoring | Record the application time and first request time for future comparisons |
| A banked reset is still offered | The saved reset has not been consumed | Check its expiry and eligibility before redeeming it |
The usage page and /status disagree | Possible synchronization or metering mismatch | Save both views, the exact error, and the time before retrying |
Do not infer a reset schedule by comparing only the hour on two screenshots. Keep the date, time zone, remaining percentage, and whether a reset was redeemed together. A moving timer by itself does not show that usage was miscounted; a rejected request while both the dashboard and /status show remaining quota is a separate mismatch worth recording.
When Codex rejects a request even though quota remains
The open Codex issue “You’ve hit your usage limit” but usage dashboard and /status both show 43% is a useful example of the evidence to collect. It reports a visible remaining percentage, an immediate limit error, and a reset timestamp. The issue is a report, not confirmation that every account has the same bug.
Use this order when the same symptom appears:
- Run
/statusagain in the same thread and save the output without publishing account identifiers. - Refresh the usage page in the same account and note whether the 5-hour and weekly values changed.
- Start a small new session only after recording the original state. A new thread can have different thread-scoped context, but it is not a guaranteed quota repair.
- Check the exact limit banner: it may offer credits, a reset, an upgrade, or a reset time.
- If the two views still disagree, report the timestamp, time zone, CLI or app version, model, plan, exact error, and redacted
/statusoutput to OpenAI support or the official repository.
Avoid spending a banked reset as a blind test. If the problem is an account-state mismatch, consuming the reset can make the evidence harder to interpret and may not fix the rejected request.
Plan long tasks around checkpoints
The usage page is most useful before a long task, not only after the limit error. For work that may run for a while:
- save the current diff or checkpoint before starting a large refactor;
- split discovery, implementation, and verification into resumable turns;
- keep a short note of the model, effort, and repository scope used by the task;
- stop and record the state when the remaining percentage changes unexpectedly;
- keep a second provider or a local verification path available for work that can safely continue elsewhere.
If you need a separate CLI provider while waiting for a Codex window, the OpenCode Go provider setup is a different authentication and model-selection path. It does not share Codex’s quota, so treat it as a separate workflow rather than a way to repair the OpenAI account state.
The takeaway is simple: a Codex reset date is part of a rolling account state. Read /status and the usage page together, preserve the evidence when they disagree, and choose a reset, credits, or waiting only after you know which limit you actually reached.
FAQ
Q: Is the Codex weekly reset always on the same day?
A: No. OpenAI’s current guidance describes a seven-day usage window rather than a fixed calendar week. For a paid instant reset, the next period begins with the first Work or Codex request after the reset is applied, so the displayed date can move.
Q: Does a paid instant reset schedule the next reset from the payment time?
A: Not necessarily. The current paid-reset guidance anchors the next weekly period to the first Work or Codex request after the reset is applied, then places the next automatic reset seven days later. Record that first request time if the schedule matters.
Q: Why does /status show remaining usage but Codex still rejects my prompt?
A: The two views may be reporting account state at different moments, or the backend may have an entitlement or metering mismatch. Capture both views, the exact error, and the time before retrying. An open Codex issue documents this symptom, but it should not be treated as a universal diagnosis.
Q: Is a banked Codex reset the same as buying credits?
A: No. OpenAI describes rate-limit resets and credits as separate options. A banked reset applies to eligible Codex limits; credits are a paid flexible-usage balance when your plan supports them.
References:
OpenAI Help Center: Paid weekly Work and Codex rate limit resets
OpenAI Help Center: How banked Codex resets work
OpenAI Help Center: Using Codex with your ChatGPT plan
OpenAI Developer Community: Weekly limits reset date suddenly changed
OpenAI Codex app-server protocol: rate limits and reset credits
Report a typo or broken link, or suggest a related topic.