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. 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 https://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 https://github.com/suvadadepolo-blip/codex-reset-mcp . 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 : bash /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 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 https://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.