A cited timeline of every time Anthropic or OpenAI reset their customers' usage limits — when it happened, what prompted it, and what it was actually worth against the price you pay.
Live: https://reset-tracker-beta.vercel.app
Both companies have taken to zeroing everyone's usage counters. Sometimes it's an apology for a bug, sometimes a milestone celebration, and sometimes there's no stated reason at all. Nobody was keeping a structured record of why, or of what the resets are worth.
Three findings, all recomputed from the dataset at page load rather than written into the copy:
- 42% of resets are compensation for a defect the vendor shipped. Resets are, more than anything, an apology mechanism.
- Only OpenAI resets limits to celebrate growth. Four milestone resets (3M, 4M, and 5M weekly Codex users, plus a one-year anniversary). Anthropic has never done one.
- OpenAI resets roughly twice as often as Anthropic. Codex's lead has been candid about the cost: "Don't just reset Codex rate limits for fun, it costs money… but the vibes are good."
site/assets/events.js is the single source of truth. site/data/events.json is generated from it by
scripts/export-json.js, which is the sole writer of that file. Never hand-edit the JSON.
npm run check # validate the dataset, write nothing
npm run build # validate, then regenerate site/data/events.json
The export script fails the build on any integrity violation. It enforces:
- every event cites at least one source, over https, with a tier and a label;
- no event rests on Tier C sources alone;
- dates are UTC (
Z-suffixed) and inside the declared window; appliesToplan slugs exist and belong to the event's vendor;- an event with
reasonStated: falsecannot be filed under a reason — it must begoodwill; - a quote ending in
…must carrytruncated: true.
Conflating these is the most common error in coverage of this topic.
| kind | meaning |
|---|---|
reset |
Usage counters were zeroed. This is what the tracker is about. |
grant |
A reset was credited to your account to spend later (OpenAI, June 2026). |
increase |
The ceiling itself moved. Doubling a 5-hour limit is not a reset. |
| tier | what | how it's used |
|---|---|---|
A |
The vendor: official page, status incident, company or staff account. | Sufficient alone. |
B |
Independent reputable press. | Corroboration; sufficient for facts vendors don't publish (e.g. ChatGPT pricing). |
C |
Blogs, forums, GitHub issues, individuals. | Never sufficient alone. |
X returns HTTP 402 to automated fetches, so post bodies can't be read programmatically — and press
reports of these dates proved unreliable (one widely repeated date was a full day wrong). Dates therefore
come from decoding the Twitter snowflake ID, which embeds its own creation timestamp:
timestamp_ms = (post_id >> 22) + 1288834974657
This is how the most recent Anthropic reset is dated 9 July 2026 18:01:18 UTC rather than 10 July. A Hacker News thread of users noticing their counters reset was created 18:03:12 UTC — two minutes later.
The obvious calculation — "$200 buys N tokens, resets make it N × 1.4" — cannot be made honestly. Anthropic publishes no token, message, or hour figure for any subscription tier, only relative multipliers ("5x", "20x more usage than Pro"). Any tokens-per-dollar number for Claude is invented.
So the model prices the one unit both vendors define: the weekly quota cycle.
W = days / 7 nominal weekly cycles
R = resets that applied to the plan (from the cited dataset)
c = capture rate, user-controlled (0..1)
E = W + R*c effective cycles
S = monthly * (days / 30.4375) what you paid
effective $/cycle = S / E
discount = 1 - W/E
c is the honest knob. A reset returns the remainder of the cycle you were in, so capture is never 100%
in practice — and if you never hit your limit, a reset is worth exactly zero. The result is an upper bound,
not a measurement.
ResetRadar by Giulio Capecchi already polls the vendors'
accounts hourly and publishes a source-linked ledger with RSS and a Telegram channel. This project's
research was seeded from its events.json and it surfaced ~15 events a from-scratch search missed.
This tracker diverges by classifying the reason as structured data, pricing the resets, correcting ResetRadar's automated classifier where it's wrong (a post announcing the absence of a reset; an export-control notice; one reset double-counted), and adding at least one event its poller never saw (the 1 April 2026 precautionary Codex reset).
Everything else in the space — OpenUsage, CodexBar, the menu-bar monitors — tells you when your quota next refills. Different question.
If a reset is missing, open an issue. Include a first-party source: the vendor's own post, blog, changelog, help-centre article, or status incident. Press coverage is welcome corroboration but isn't sufficient on its own to log an event.
site/
index.html timeline, trends, prior art, CTA
value.html effective-value calculator
methodology.html sourcing, dating, rejected candidates, gaps
assets/
events.js ← single source of truth
site.css shared styles (nav/drawer/footer pattern)
nav.js shared nav + accessible mobile drawer
render.js index page rendering
calc.js value calculator
data/events.json ← GENERATED, CORS-enabled for reuse
scripts/export-json.js
No framework, no bundler, no dependencies. Static HTML on Vercel.
MIT for the code. The dataset is assembled from public statements; each event links to its sources. Not affiliated with Anthropic or OpenAI.