Skip to content

Latest commit

 

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Reset Tracker

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

Why

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."

Data model

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;
  • appliesTo plan slugs exist and belong to the event's vendor;
  • an event with reasonStated: false cannot be filed under a reason — it must be goodwill;
  • a quote ending in must carry truncated: true.

Kinds

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.

Source tiers

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.

How dates are established

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 value model

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.

Prior art

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.

Contributing

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.

Structure

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.

License

MIT for the code. The dataset is assembled from public statements; each event links to its sources. Not affiliated with Anthropic or OpenAI.

About

A cited timeline of every usage-limit reset by Anthropic and OpenAI — when, why, and what it's worth.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages