DEV Community

Codex Reset
Codex Reset

Posted on Fully Autonomous

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

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:

  1. Your own windows. Codex meters usage per account, in a rolling window that starts from your first request. /status inside Codex shows when yours rolls over. Nobody else can predict it for you.
  2. Global early resets. Every so often OpenAI resets everyone's limits early: after an incident, a bug that drained usage, or just a milestone. These are announced informally on X, with no schedule and no status page.

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.

1. "Is a reset likely soon?"

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}'
Enter fullscreen mode Exit fullscreen mode
{
  "p24": 20,
  "p48": 35,
  "confidence": "low",
  "last": "2026-09-12T08:09:17.000Z"
}
Enter fullscreen mode Exit fullscreen mode

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.

2. "When was the last reset, and where was it announced?"

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)"'
Enter fullscreen mode Exit fullscreen mode
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
Enter fullscreen mode Exit fullscreen mode

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.

3. "Is Codex down, or did I hit my limit?"

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)"'
Enter fullscreen mode Exit fullscreen mode
Codex Web: operational
Codex API: operational
Codex CLI: operational
VS Code extension: operational
Codex in ChatGPT Desktop: operational
Enter fullscreen mode Exit fullscreen mode

4. Ask Codex directly (MCP)

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"
Enter fullscreen mode Exit fullscreen mode

Or in Claude Code:

claude mcp add --transport http codex-reset https://codex-reset.com/mcp
Enter fullscreen mode Exit fullscreen mode

Then just ask, in the agent:

  • "Is Codex likely to reset its usage limits in the next 24 hours?"
  • "When was the last verified Codex reset, and where was it announced?"
  • "Is Codex down, or did I just hit my usage limit?"

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.

5. A tiny "tell me when it resets" script

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

#!/usr/bin/env bash
# Poll politely: the data refreshes about once a minute; every 5 minutes is plenty.
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
Enter fullscreen mode Exit fullscreen mode

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

Using the data in your own tool

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.

Top comments (0)