tokens-per-dollar · prices read

Will I hit my Codex weekly limit?

If your pace holds, Codex's own readings say when. With every response Codex writes the share of your 5-hour and weekly limits already used, and when each resets, into the session files on your machine; npx --allow-git=root github:agentwares/tokens-per-dollar forecast reads them, sizes the weekly limit against your own last 14 days of work, and prints the day and hour your pace reaches it, labelled an estimate, or how full the window will be when it resets. OpenAI publishes no weekly limit as a number for Plus ($20 a month) or Pro (from $100), so a forecast has to come from your own readings. It sends nothing anywhere.

$ npx --allow-git=root github:agentwares/tokens-per-dollar forecast demo
Codex — from its own limit readings (ChatGPT Plus)
  Weekly limit   92% used at 13:43 (measured) · resets Mon 12 Oct 00:00
                 at your pace you reach it Thu 8 Oct 13:16, 3.4 days before it resets (estimate)
                 2 weekly windows reached 100% in the pace period (measured)
  5-hour limit   26% used at 13:43 (measured) · resets 18:00
                 at this window's pace so far you do not reach it: about 44% when it resets
                 (estimate)
  Your sessions  your median 5-hour session uses 29% of the 5-hour limit, your busiest 45%; 0 of 10
                 would reach it (estimates)
  Your week      196 credits at this pace; ChatGPT Plus's weekly limit holds about 144 (estimate,
                 from 197 points of readings over 3 windows)
Synthetic history: the real output of npx --allow-git=root github:agentwares/tokens-per-dollar forecast demo on generated transcripts, with Codex weekly readings and Claude Code limit refusals added in their real formats; not anyone's usage (as of 7 October 2026).

What Codex records, and what it does not

Why the weekly limit can seem to keep resetting

Each reading carries its own reset time, so you do not have to guess when a week starts: when the reset time in the readings moves, a new window began. The forecast projects the window open now from its latest reading to that reset; if the window is already over, it projects a fresh one from now. --json lists the latest reading of each window with its resetsAt, so you can compare it with what Codex's /status shows. Codex also reports other limits beside the main one (it names them, for example premium); the forecast shows their latest reading and does not project them, because the files do not say which requests count toward them.

How the forecast is made

  1. The size of the window, in credits (an estimate): over the intervals between readings while this machine worked, the points the readings rose against the Codex credits your requests came to at OpenAI's rate card. Intervals that start at 100% are left out, as are rises with no work on this machine.
  2. Your pace: your last 14 days as an average week, hour by hour, so a week that is heavy on Mondays is projected heavy on Mondays.
  3. The projection (an estimate): from the latest reading, hour by hour at your pace, to the reset. The 5-hour window uses its own pace so far instead.

Figures Codex wrote are marked measured; everything carried forward is marked estimate. The same run prices your week on each plan: what your Codex week costs on Plus, Pro and the API.

Changelog: what the vendors changed, and when

Dates are the vendors' own. “As reported” means the press quoting the vendor, because the vendor's own post could not be read. Each entry says what changed, never why.

Run it on your own logs

On the machine where you use Claude Code or Codex:

$ npx --allow-git=root github:agentwares/tokens-per-dollar forecast
$ npx --allow-git=root github:agentwares/tokens-per-dollar

forecast reads the limit readings Codex keeps and your last 14 days of work, and says when your pace reaches the 5-hour and weekly limits and what that pace costs on Plus, Pro, Codex credits and the API, each projection labelled an estimate. With no command it prices your last 30 days on every plan. Free and MIT; it makes no network request and sends nothing. --json prints every price with its source and the date it was read.

For a team: seatledger keeps everyone's coding-agent ledger in one place and flags when the token rate moves. Free for up to 3 developers; email alerts on Team, $49 a month.

Sources