cd /news/ai-tools/is-a-codex-usage-limit-reset-coming-… · home topics ai-tools article
[ARTICLE · art-138744] src=dev.to ↗ pub= topic=ai-tools verified=true sentiment=↑ positive

Is a Codex usage-limit reset coming? Check from your terminal with a free API (or MCP)

A developer built codex-reset.com, a free, keyless service that tracks OpenAI Codex usage-limit reset announcements and publishes a 24/48-hour probability forecast as JSON and a read-only MCP server. The API exposes a forecast endpoint, a dated timeline of confirmed resets with source links, and Codex surface status history, and can be added to Codex or Claude Code via an MCP URL with no install or account.

by read3 min views3 publishedSep 24, 2026

If you use OpenAI Codex a lot, you've probably hit the weekly limit and asked the same question everyone asks: is a reset coming, or should I just wait it out?

There are two different kinds of "reset", and people mix them up:

/status inside Codex shows when yours rolls over. Nobody else can predict it for you. This post is about the second kind. codex-reset.com tracks those announcements, keeps a dated record with source links, and publishes a probability that another one lands in the next 24 or 48 hours. All of it is available as free JSON with no API key, and as an MCP server you can plug into Codex itself. Below is how to use both from a terminal.

Disclosure: this account belongs to the project. Everything below is free to use; the only condition is a visible credit if you show the data to other people.

curl -sS https://codex-reset.com/api/forecast \
  -A 'my-script/1.0 (+https://example.com)' \
  | jq '{p24: .probabilities.rounded_24h, p48: .probabilities.rounded_48h, confidence, last: .last_reset_at}'
{
  "p24": 20,
  "p48": 35,
  "confidence": "low",
  "last": "2026-09-12T08:09:17.000Z"
}

That's a percentage chance of a global reset within 24h and 48h, how confident the model is, and when the last confirmed reset happened. It's a forecast, not a promise: treat 20% as "probably not today".

The -A header matters. Server-side readers are asked to send a User-Agent that names the project, so the site can tell real integrations from anonymous scrapers.

Every entry in the record links to the original post:

curl -sS https://codex-reset.com/api/timeline \
  -A 'my-script/1.0 (+https://example.com)' \
  | jq -r '[.events[] | select(.group == "reset" and .announcement_state == "announced")]
           | sort_by(.announced_at) | reverse | .[0:3][]
           | "\(.announced_at)  \(.url)"'
2026-09-12T08:09:17.000Z  https://x.com/thsottiaux/status/2098685367058612394
2026-09-08T01:34:00.000Z  https://x.com/thsottiaux/status/2097043464538264003
2026-08-31T02:34:27.000Z  https://x.com/thsottiaux/status/2094252447271366730

The announcement_state == "announced" filter matters. A post that only promises a reset shows up in the record too, but a reset only counts once it's actually announced. That's the same rule the site's ✅ alerts use.

When Codex starts failing, check whether it's an outage before you blame your quota:

curl -sS https://codex-reset.com/api/status-history \
  -A 'my-script/1.0 (+https://example.com)' \
  | jq -r '.current.surfaces[] | "\(.label): \(.status)"'
Codex Web: operational
Codex API: operational
Codex CLI: operational
VS Code extension: operational
Codex in ChatGPT Desktop: operational

The same data is exposed as a read-only MCP server over Streamable HTTP. There's nothing to install, no key, and no account. Add it to ~/.codex/config.toml:

[mcp_servers.codex-reset]
url = "https://codex-reset.com/mcp"

Or in Claude Code:

claude mcp add --transport http codex-reset https://codex-reset.com/mcp

Then just ask, in the agent:

There are three tools, get_reset_forecast, get_reset_timeline and get_codex_status, all read-only. Config for Cursor, VS Code and others is in the codex-reset-mcp repo. The repo also installs as a Codex plugin.

The record only changes when a reset is announced, so a watcher just compares last_reset_at:

#!/usr/bin/env bash
UA='reset-watch/1.0 (+https://example.com)'
last=""
while true; do
  now=$(curl -sS -A "$UA" https://codex-reset.com/api/forecast | jq -r '.last_reset_at')
  if [ -n "$last" ] && [ "$now" != "$last" ]; then
    osascript -e 'display notification "Codex limits were reset" with title "Codex"' 2>/dev/null \
      || notify-send "Codex limits were reset" 2>/dev/null \
      || echo "Codex limits were reset at $now"
  fi
  last=$now
  sleep 300
done

If you'd rather not run anything, the site also pushes the same event to Telegram, Discord and browser notifications.

The API is free and keyless, with CORS open. The terms fit in one line: if you show the data to people, credit it where it appears (Data: codex-reset.com, linked), and send an identifying User-Agent from servers. Field reference and polling guidance: codex-reset.com/developers.

Several open-source menu-bar apps and bots already read it this way. If you build something on it, I'd like to hear about it in the comments.

── more in #ai-tools 4 stories · sorted by recency
── more on @openai 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
Live at https://your-agent.zahid.host
Get free account → Pricing
from €0/mo · no card required
LIVE [news/is-a-codex-usage-lim…] indexed:0 read:3min 2026-09-24 ·