<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Codex Reset</title>
    <description>The latest articles on DEV Community by Codex Reset (@codexreset).</description>
    <link>https://dev.to/codexreset</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4089091%2F8b3df152-285e-460e-8dba-6ba3c41a4f04.jpg</url>
      <title>DEV Community: Codex Reset</title>
      <link>https://dev.to/codexreset</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/codexreset"/>
    <language>en</language>
    <item>
      <title>How Codex usage limits work: two windows, three kinds of reset</title>
      <dc:creator>Codex Reset</dc:creator>
      <pubDate>Thu, 05 Nov 2026 02:00:07 +0000</pubDate>
      <link>https://dev.to/codexreset/how-codex-usage-limits-work-two-windows-three-kinds-of-reset-3bm3</link>
      <guid>https://dev.to/codexreset/how-codex-usage-limits-work-two-windows-three-kinds-of-reset-3bm3</guid>
      <description>&lt;p&gt;&lt;em&gt;Disclosure: we build &lt;a href="https://codex-reset.com/?utm_source=devto&amp;amp;utm_medium=blog&amp;amp;utm_campaign=codex-limits" rel="noopener noreferrer"&gt;Codex Reset&lt;/a&gt;. This post explains how Codex limits and resets work, using OpenAI's own pricing page and Help Center as the source, and points to the pages on our site that track them.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Most of the confusion around Codex limits comes from one word doing too many jobs. "Reset" can mean your 5-hour window rolling over, your weekly window rolling over, a reset OpenAI applies to many accounts at once, a reset saved in your account, or one you buy. They behave differently, and some of them move your next reset date.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.to/codexreset/get-codex-reset-alerts-wherever-you-already-are-1c0p"&gt;The last post&lt;/a&gt; covered where to get reset alerts. This one is the background: what the windows are, what OpenAI does and doesn't publish about them, and what each kind of reset actually changes. Everything below comes from OpenAI's pages as of November 5, 2026. OpenAI updates them often, so treat the links as the authority and our summary as a map.&lt;/p&gt;

&lt;h2&gt;
  
  
  Two windows, one pool
&lt;/h2&gt;

&lt;p&gt;On most paid plans Codex runs two limits at once: a 5-hour window and a weekly window. The same usage counts against both, but the two periods can end at different times. OpenAI's own example: your weekly period could end at noon while your current 5-hour period runs until 3 p.m.&lt;/p&gt;

&lt;p&gt;That's why clearing one doesn't fix the other. If your weekly window is exhausted, a fresh 5-hour window won't unblock you. You need the weekly rollover, a reset, or credits.&lt;/p&gt;

&lt;p&gt;The pool is also bigger than Codex. Where your plan has them, Codex, ChatGPT Work, ChatGPT for Excel and Workspace Agents share one allowance and credit pool, so a long ChatGPT Work session spends the budget your coding session needs. Local messages from the CLI, IDE extension or desktop app share it with cloud chats, and cloud tasks may use more of it than local messages.&lt;/p&gt;

&lt;p&gt;Plans differ in which windows they have:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Plus and Business Standard:&lt;/strong&gt; a 5-hour allowance and a weekly allowance.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pro (100, 200 and 500):&lt;/strong&gt; the pricing page says "Pro plans currently have no five-hour limit", so Pro runs on the weekly allowance.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Go:&lt;/strong&gt; a monthly allowance.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Enterprise and Edu with flexible pricing:&lt;/strong&gt; no fixed rate limits; usage scales with credits.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What the 5-hour numbers mean
&lt;/h2&gt;

&lt;p&gt;The &lt;a href="https://learn.chatgpt.com/docs/pricing" rel="noopener noreferrer"&gt;pricing page&lt;/a&gt; lists local messages per five-hour period for Plus and Standard Business. The ranges are wide: GPT-6.1 Sol 15–160, GPT-6.1 Terra 35–285, GPT-6 Astra 5–45, GPT-6 Luna 350–3,000.&lt;/p&gt;

&lt;p&gt;OpenAI's caveat is the important part: "These estimates are not fixed message limits." What a message costs depends on the model, where the task runs, how complex it is, the context, reasoning, speed and tools. A long-running agent task can use far more than a short request. Read the ranges as a sense of scale, not as a counter.&lt;/p&gt;

&lt;h2&gt;
  
  
  The weekly window has no published size
&lt;/h2&gt;

&lt;p&gt;For the weekly window OpenAI publishes no number for any plan. The pricing page says only "Weekly limits may also apply." Anyone quoting an exact weekly cap is estimating.&lt;/p&gt;

&lt;p&gt;People do try to measure it. Our &lt;a href="https://codex-reset.com/codex-usage?utm_source=devto&amp;amp;utm_medium=blog&amp;amp;utm_campaign=codex-limits#codex-limits" rel="noopener noreferrer"&gt;/codex-usage page&lt;/a&gt; collects those measurements, converts one full week into API dollars per plan and cites every figure. OpenAI warns against that kind of conversion: "API token prices are separate from subscription usage; don't use them to estimate included tasks." So we show the table as a rough scale, with each row's source next to it.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fni801ztjwif8l5a01o6s.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fni801ztjwif8l5a01o6s.png" alt="Codex limits by plan, with sources, on codex-reset.com" width="800" height="538"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;"Codex limits by plan, with sources" on codex-reset.com/codex-usage (screenshot, November 5, 2026). The dollar figures are third-party measurements, not OpenAI numbers.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Where to check your own numbers
&lt;/h2&gt;

&lt;p&gt;Your own balance is the only number that counts. OpenAI points to these places:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;In an active Codex CLI session, run &lt;code&gt;/status&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;On the web, ChatGPT Settings → Usage (&lt;a href="https://chatgpt.com/settings/usage" rel="noopener noreferrer"&gt;chatgpt.com/settings/usage&lt;/a&gt;).&lt;/li&gt;
&lt;li&gt;In the desktop app, Settings → Usage &amp;amp; billing.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;When you hit a limit, the notice shows the options your account has: add credits, use an available reset, upgrade, or wait until the displayed reset time.&lt;/p&gt;

&lt;h2&gt;
  
  
  Three kinds of reset
&lt;/h2&gt;

&lt;p&gt;OpenAI's article &lt;a href="https://help.openai.com/en/articles/20001498-how-resets-work-in-codex" rel="noopener noreferrer"&gt;How resets work in Codex&lt;/a&gt; separates three one-time resets, all distinct from the regular scheduled refresh:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Banked reset.&lt;/strong&gt; Free, one-time, saved to your account for later. Receiving one does not refresh your usage. You choose when to use it, before it expires.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Automatic reset&lt;/strong&gt;, "sometimes called a global reset". Applied directly to the accounts and limits an offer selects. You don't redeem it and it isn't saved. In OpenAI's words: "'Global' does not mean every account or every usage limit."&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Purchased reset.&lt;/strong&gt; Bought for immediate use and offered to selected Plus and Pro personal accounts.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;None of them permanently raises your limits. Free banked and automatic resets have, as OpenAI puts it, "no guaranteed availability or schedule". That uncertainty is what our site tracks: it reads the public announcements, shows a forecast, and confirms when a reset has actually reached the accounts we monitor.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Foechf7towb1c7a8gps9o.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Foechf7towb1c7a8gps9o.png" alt="Grant, redemption and automatic reset compared on codex-reset.com" width="800" height="538"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Grant, redemption and automatic reset compared on codex-reset.com/banked-reset (screenshot, November 5, 2026).&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Using a banked reset
&lt;/h2&gt;

&lt;p&gt;You can redeem a banked reset in the desktop app (Settings → Usage &amp;amp; billing), on the web (Usage settings), or in Codex CLI by entering &lt;code&gt;/usage&lt;/code&gt; and choosing Redeem reset. The mobile app doesn't offer it, and older CLI versions may not show the option.&lt;/p&gt;

&lt;p&gt;A few rules catch people out:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;From Usage settings, at least one covered allowance must have less than 80% remaining. Otherwise you see "Your usage does not need a reset right now" and the reset stays in your account.&lt;/li&gt;
&lt;li&gt;A full banked reset brings each covered allowance that is below 100% back to 100%. An allowance already at 100% isn't restarted. On Plus that covers the 5-hour and weekly allowances; on Pro, the weekly allowance.&lt;/li&gt;
&lt;li&gt;It only counts as used if it restores at least one allowance.&lt;/li&gt;
&lt;li&gt;Separate allowances such as image generation, file upload and regular Chat Voice stay as they were.&lt;/li&gt;
&lt;li&gt;A desktop option, "Allow your assistant to use resets", lets Codex redeem one itself once your main 5-hour or weekly allowance is at 10% or less.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Use it before the expiry shown in your account or offer. Our &lt;a href="https://codex-reset.com/banked-reset?utm_source=devto&amp;amp;utm_medium=blog&amp;amp;utm_campaign=codex-limits" rel="noopener noreferrer"&gt;banked reset page&lt;/a&gt; has an expiry tracker and a checklist for when a reset looks missing.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why your weekly date moved
&lt;/h2&gt;

&lt;p&gt;This is the most common surprise. Banked, global and paid resets can all change your next refresh time, and "the new schedule replaces the old one." OpenAI's example: a weekly period that was due to end on Friday restarts on Tuesday, so it now refreshes the following Tuesday, and the Friday refresh no longer applies.&lt;/p&gt;

&lt;p&gt;So OpenAI's advice is to read the next refresh time in Usage instead of working it out from when you redeemed, bought, or saw an announcement. Before a new period starts, the displayed time can itself be an estimate.&lt;/p&gt;

&lt;p&gt;Two related points from the same article:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A global reset after a banked one brings the allowance back to 100%, not 200%. The banked reset you used isn't returned, and any unused ones keep their original expiry.&lt;/li&gt;
&lt;li&gt;The desktop History view shows banked-reset activity for the past 30 days. Paid and global resets don't appear there, so a missing entry doesn't mean you missed a global reset.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Paid resets
&lt;/h2&gt;

&lt;p&gt;Eligible Plus and Pro personal accounts can &lt;a href="https://help.openai.com/en/articles/20001507-paid-weekly-work-and-codex-rate-limit-resets" rel="noopener noreferrer"&gt;buy an instant reset&lt;/a&gt; from desktop Usage settings, or from an offer that appears after reaching the weekly limit. It isn't available on Free, Go, Business, Enterprise or Edu, and availability varies by account even on the same plan.&lt;/p&gt;

&lt;p&gt;A purchase restores both 5-hour and weekly usage at once. It pulls your normal weekly allowance forward rather than adding usage, can't be saved for later, and is generally not refunded. Your new weekly period starts with your first Work or Codex request after the reset, and the next automatic weekly reset is seven days after that request. It applies even if you still have usage left, and it changes your weekly reset schedule.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where Codex Reset fits
&lt;/h2&gt;

&lt;p&gt;Our site never reads your OpenAI account. The &lt;a href="https://codex-reset.com/codex-usage?utm_source=devto&amp;amp;utm_medium=blog&amp;amp;utm_campaign=codex-limits" rel="noopener noreferrer"&gt;/codex-usage tracker&lt;/a&gt; lets you paste &lt;code&gt;/status&lt;/code&gt; or type your weekly percentage and reset time, and keeps that in your browser. Its main job is the part OpenAI doesn't schedule: watching for automatic and banked resets and confirming when one has reached the Pro and Plus accounts we monitor. The alert channels are covered in &lt;a href="https://dev.to/codexreset/get-codex-reset-alerts-wherever-you-already-are-1c0p"&gt;the previous post&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;What it can't do: it can't see your personal limits, it doesn't cover Team or Business workspaces, and it can't tell you whether a given offer included your account. For that, your own Usage page is the authority.&lt;/p&gt;

&lt;h2&gt;
  
  
  Quick answers
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;My weekly allowance is empty. Does a fresh 5-hour window help?&lt;/strong&gt; No.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;How big is the weekly limit?&lt;/strong&gt; OpenAI doesn't publish it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Does receiving a banked reset refresh my usage?&lt;/strong&gt; No. Only redeeming it does.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Why did my weekly reset date change?&lt;/strong&gt; A reset restarted the period. Check Usage for the new time.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Does a global reset reach everyone?&lt;/strong&gt; Not necessarily. OpenAI says "global" doesn't mean every account.&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;em&gt;Codex Reset is an independent community tracker and is not affiliated with OpenAI. "Codex" is a trademark of OpenAI.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>openai</category>
      <category>ai</category>
      <category>productivity</category>
      <category>programming</category>
    </item>
    <item>
      <title>Get Codex reset alerts wherever you already are</title>
      <dc:creator>Codex Reset</dc:creator>
      <pubDate>Wed, 04 Nov 2026 23:58:50 +0000</pubDate>
      <link>https://dev.to/codexreset/get-codex-reset-alerts-wherever-you-already-are-1c0p</link>
      <guid>https://dev.to/codexreset/get-codex-reset-alerts-wherever-you-already-are-1c0p</guid>
      <description>&lt;p&gt;&lt;em&gt;Disclosure: we build &lt;a href="https://codex-reset.com/?utm_source=devto&amp;amp;utm_medium=blog&amp;amp;utm_campaign=alert-channels" rel="noopener noreferrer"&gt;Codex Reset&lt;/a&gt;. This is a guide to its alert channels from the people who run it, including what they can't do.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;If you use Codex heavily, you have probably watched your weekly limit drop to a few percent halfway through a task. OpenAI hands out global resets from time to time, and almost all of them are announced on X by Thibault Sottiaux (@thsottiaux, usually called Tibo), who leads Codex. So the default move is to keep refreshing his profile.&lt;/p&gt;

&lt;p&gt;Codex Reset reads those public posts for you, checks Codex Pro and Plus accounts that we own to see when a refill has actually landed, and sends the result to the channel you pick. It never touches your OpenAI account, and you don't need an account with us. Earlier posts covered &lt;a href="https://medium.com/@codexreset/you-dont-need-to-refresh-tibo-s-x-feed-to-catch-a-codex-reset-7601ccf1bfbe" rel="noopener noreferrer"&gt;how we read Tibo's posts&lt;/a&gt; and &lt;a href="https://medium.com/@codexreset/we-watch-real-codex-accounts-so-our-reset-alert-means-the-reset-actually-landed-b5513d64548e" rel="noopener noreferrer"&gt;how our own accounts confirm that a reset has landed&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;This one is practical: where you can get the alerts, how quickly each channel tends to arrive, and the small catches.&lt;/p&gt;

&lt;h2&gt;
  
  
  What counts as an alert
&lt;/h2&gt;

&lt;p&gt;Before picking a channel, it helps to know what will reach you. The alerts menu on the site sums it up in one line: "⚠️ strong Tibo signal · ✅ verified reset · 🎟️ banked reset — resets only, nothing else."&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fdhj3hp9znn2ipacbsrb7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fdhj3hp9znn2ipacbsrb7.png" alt="The alerts menu on codex-reset.com" width="800" height="538"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;The alerts menu on codex-reset.com, open over the homepage (screenshot, November 4, 2026).&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;In practice that means a handful of message types:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;⚠️ Watch:&lt;/strong&gt; Tibo has made a clear promise. It comes with a probability: 93% when his words give a time window, 83% when they don't.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;⌛️:&lt;/strong&gt; Tibo says the reset is done, and our accounts haven't confirmed it yet.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;✅:&lt;/strong&gt; the refill reached the Pro and Plus accounts we monitor. There is one exception, covered under limits below, and the message says when it applies.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;🔬:&lt;/strong&gt; our accounts measured a reset that nobody announced.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;🎟️:&lt;/strong&gt; a banked reset update.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A real ✅ from the public Telegram channel is headed "✅ Codex reset confirmed" and reads "Our checks show that Codex usage limits reset around 06:35 UTC on Oct 28." Times are given in UTC.&lt;/p&gt;

&lt;p&gt;Tibo's hints and teases (👀) are not alerts. They show on the site, and our X account posts them, but Telegram, Discord, email and push stay quiet. If you only want to hear about resets, any of the main channels will do that.&lt;/p&gt;
&lt;h2&gt;
  
  
  Telegram
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://t.me/codexresetalerts" rel="noopener noreferrer"&gt;t.me/codexresetalerts&lt;/a&gt; is the alerts channel. Open the link and join. It's a broadcast channel, so you only receive messages.&lt;/p&gt;

&lt;p&gt;Telegram is one of the instant channels. It carries regular resets, strong Watches and qualifying banked updates. One detail makes it calmer than it sounds: when Tibo replies to his own post with a landing time, we edit the existing ⚠️ message with the new deadline instead of sending another one. You don't get pinged twice for the same reset.&lt;/p&gt;

&lt;p&gt;Pick Telegram if it's already open on your phone or desktop all day.&lt;/p&gt;
&lt;h2&gt;
  
  
  Discord
&lt;/h2&gt;

&lt;p&gt;The &lt;a href="https://discord.gg/E6CCfuKwYu" rel="noopener noreferrer"&gt;Discord invite&lt;/a&gt; takes you to the Codex Reset server and drops you in #alerts. That channel carries the same alerts as Telegram, and the same in-place edit applies when a landing time arrives.&lt;/p&gt;

&lt;p&gt;Discord fits if your team or coding community already lives there. Discord lets you turn on notifications for #alerts and mute the rest of the server, which keeps it to resets only.&lt;/p&gt;
&lt;h2&gt;
  
  
  Email
&lt;/h2&gt;

&lt;p&gt;Email starts at &lt;a href="https://notify.codex-reset.com/?utm_source=devto&amp;amp;utm_medium=blog&amp;amp;utm_campaign=alert-channels" rel="noopener noreferrer"&gt;notify.codex-reset.com&lt;/a&gt;. Enter your address and we send a confirmation link. Opening the link doesn't subscribe you on its own. You have to press the confirm button on the page it opens.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fdpsrxf32xehsi9qsmeix.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fdpsrxf32xehsi9qsmeix.png" alt="The email alerts subscription page" width="800" height="538"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;The email subscription page at notify.codex-reset.com (screenshot, November 4, 2026).&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The confirmation comes from &lt;a href="mailto:alerts@notify.codex-reset.com"&gt;alerts@notify.codex-reset.com&lt;/a&gt;. The sending domain is new, so check Spam if it doesn't show up. If it's there, marking it "not spam" helps later alerts reach your inbox.&lt;/p&gt;

&lt;p&gt;After that you get one email for each confirmed reset, high-confidence forecast or qualifying banked-reset update. Two caveats are worth knowing:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Email is the slowest lane.&lt;/strong&gt; Messages go out in batches, and inbox providers add their own delay. An email can arrive minutes after the same alert is on Telegram, Discord or push.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Delivery is at-most-once.&lt;/strong&gt; In a rare, ambiguous failure at the email provider, you might miss one message. The system won't send a duplicate to make up for it.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The emails are transactional only: no sponsored content, affiliate placements, personalization or tracking. Each one has an unsubscribe link, and mail apps that support one-click unsubscribe will show that button too.&lt;/p&gt;

&lt;p&gt;Email suits you if you'd rather not install anything, or you like a record you can search later. Skip it if a few minutes matter to you.&lt;/p&gt;
&lt;h2&gt;
  
  
  X
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://x.com/codex_reset" rel="noopener noreferrer"&gt;@codex_reset&lt;/a&gt; posts each alert (⚠️ ⌛️ ✅ 🎟️). It's also the one channel that posts Tibo's teases (👀), so it's a little busier than the others. The account checks the site's public data once a minute, so expect a short lag behind the instant channels.&lt;/p&gt;

&lt;p&gt;Following the account is not enough to get notified. Turn on notifications for it in X, or the posts just wait in your timeline.&lt;/p&gt;

&lt;p&gt;Pick X if you're on it anyway, or if you want the teases as well as the alerts.&lt;/p&gt;
&lt;h2&gt;
  
  
  Browser push
&lt;/h2&gt;

&lt;p&gt;On &lt;a href="https://codex-reset.com/?utm_source=devto&amp;amp;utm_medium=blog&amp;amp;utm_campaign=alert-channels" rel="noopener noreferrer"&gt;codex-reset.com&lt;/a&gt;, open the alerts menu and turn on browser notifications. You don't need an account.&lt;/p&gt;

&lt;p&gt;Push wakes your browser for the latest regular reset, strong Watch or banked update. If several things happen in a row, you may only see the latest state rather than every step. Old alerts never replay.&lt;/p&gt;

&lt;p&gt;On iPhone, push only works after you add the site to your Home Screen and open it from there.&lt;/p&gt;

&lt;p&gt;Push fits if you sit at the same computer all day and don't want another app.&lt;/p&gt;
&lt;h2&gt;
  
  
  Quieter options
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;The Atom feed.&lt;/strong&gt; &lt;a href="https://codex-reset.com/feed.xml" rel="noopener noreferrer"&gt;codex-reset.com/feed.xml&lt;/a&gt; lists Tibo's reset announcements. Each entry quotes his post and links to it on X. It's meant for feed readers and scripts. It records what he announced, not what our accounts measured, so for ✅ and 🔬 use one of the channels above.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Tibo streams.&lt;/strong&gt; If you want to read Tibo's posts yourself without opening X, &lt;a href="https://t.me/Codex_Reset_Official" rel="noopener noreferrer"&gt;Codex Reset · Tibo Radar&lt;/a&gt; on Telegram and #tibo on our Discord pass them along with little noise. They're separate from #alerts and don't mirror it. Think of them as context, not alerts.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Chinese readers&lt;/strong&gt; can join our QQ group from the &lt;a href="https://codex-reset.com/zh/?utm_source=devto&amp;amp;utm_medium=blog&amp;amp;utm_campaign=alert-channels" rel="noopener noreferrer"&gt;Chinese version of the site&lt;/a&gt;. It isn't an automatic alert channel, so pair it with one of the channels above.&lt;/p&gt;
&lt;h2&gt;
  
  
  Build your own alert
&lt;/h2&gt;

&lt;p&gt;If none of these fit, the &lt;a href="https://codex-reset.com/developers?utm_source=devto&amp;amp;utm_medium=blog&amp;amp;utm_campaign=alert-channels" rel="noopener noreferrer"&gt;developer page&lt;/a&gt; documents a public JSON API and a read-only MCP server. In the page's words: "No key, no sign-up, no rate plan — the one condition is credit." If you show the data to other people, name the source and link it on the same surface ("Data: codex-reset.com"). A private script or a cron job that pings your own phone only needs a User-Agent that names your project.&lt;/p&gt;

&lt;p&gt;The page's own example reads the current forecast:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-sS&lt;/span&gt; https://codex-reset.com/api/forecast &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-A&lt;/span&gt; &lt;span class="s1"&gt;'myproject/1.0 (+https://myproject.example)'&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  | jq &lt;span class="s1"&gt;'{p24: .probabilities.rounded_24h, p48: .probabilities.rounded_48h, last: .last_reset_at}'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If you'd rather ask your coding agent, add the MCP server. In Claude Code:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;claude mcp add &lt;span class="nt"&gt;--transport&lt;/span&gt; http codex-reset https://codex-reset.com/mcp
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Codex CLI and the IDE extension read &lt;code&gt;~/.codex/config.toml&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight toml"&gt;&lt;code&gt;&lt;span class="k"&gt;[&lt;/span&gt;&lt;span class="n"&gt;mcp_servers&lt;/span&gt;&lt;span class="k"&gt;.&lt;/span&gt;&lt;span class="n"&gt;codex-reset&lt;/span&gt;&lt;span class="k"&gt;]&lt;/span&gt;
&lt;span class="n"&gt;url&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;"https://codex-reset.com/mcp"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then ask "did Codex reset today?" between tasks. We walked through the terminal side in more detail in &lt;a href="https://dev.to/codexreset/is-a-codex-usage-limit-reset-coming-check-from-your-terminal-with-a-free-api-or-mcp-3enb"&gt;an earlier DEV post&lt;/a&gt;. The full reset history is also published as an open dataset under CC BY 4.0 on Hugging Face and Kaggle.&lt;/p&gt;

&lt;h2&gt;
  
  
  Which one to pick
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;You want to know within minutes and Telegram is always open: &lt;strong&gt;Telegram&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Your team is on Discord: &lt;strong&gt;Discord #alerts&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;You're at one desk all day and don't want to install anything: &lt;strong&gt;browser push&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;You want a searchable record and minutes don't matter: &lt;strong&gt;email&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;You're on X a lot, or you want the teases too: &lt;strong&gt;@codex_reset&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;You want it inside your own tooling: &lt;strong&gt;the API or MCP server&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;One channel is enough. The main channels carry the same alerts, so subscribing to three just means hearing about the same reset three times.&lt;/p&gt;

&lt;h2&gt;
  
  
  What the alerts can't tell you
&lt;/h2&gt;

&lt;p&gt;A few limits apply to every channel.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;We monitor Pro and Plus.&lt;/strong&gt; Our accounts are ChatGPT Pro and Plus. We don't cover Team or Business workspaces yet, so a ✅ tells you nothing about them.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A ✅ can rest on Tibo's word.&lt;/strong&gt; If our monitors can't take a reading, a ✅ based on Tibo's confirmation says so in the message: "Our monitor hasn't measured it yet."&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A Watch is a probability.&lt;/strong&gt; 93% is likely, not certain. It's there to help you decide whether to wait or wrap up.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Some lanes trade detail for reliability.&lt;/strong&gt; Email can very rarely miss a message, and push may show only the latest state. If you need every step, Telegram or Discord is the better fit.&lt;/p&gt;

&lt;p&gt;Pick the channel you already check, and get back to work.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Codex Reset is an independent community tracker and is not affiliated with OpenAI. "Codex" is a trademark of OpenAI.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>openai</category>
      <category>ai</category>
      <category>productivity</category>
      <category>programming</category>
    </item>
    <item>
      <title>Is a Codex usage-limit reset coming? Check from your terminal with a free API (or MCP)</title>
      <dc:creator>Codex Reset</dc:creator>
      <pubDate>Thu, 24 Sep 2026 02:24:07 +0000</pubDate>
      <link>https://dev.to/codexreset/is-a-codex-usage-limit-reset-coming-check-from-your-terminal-with-a-free-api-or-mcp-3enb</link>
      <guid>https://dev.to/codexreset/is-a-codex-usage-limit-reset-coming-check-from-your-terminal-with-a-free-api-or-mcp-3enb</guid>
      <description>&lt;p&gt;If you use OpenAI Codex a lot, you've probably hit the weekly limit and asked the same question everyone asks: &lt;em&gt;is a reset coming, or should I just wait it out?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;There are two different kinds of "reset", and people mix them up:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Your own windows.&lt;/strong&gt; Codex meters usage per account, in a rolling window that starts from &lt;em&gt;your&lt;/em&gt; first request. &lt;code&gt;/status&lt;/code&gt; inside Codex shows when yours rolls over. Nobody else can predict it for you.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Global early resets.&lt;/strong&gt; 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.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This post is about the second kind. &lt;a href="https://codex-reset.com/" rel="noopener noreferrer"&gt;codex-reset.com&lt;/a&gt; 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 &lt;strong&gt;free JSON with no API key&lt;/strong&gt;, and as an &lt;strong&gt;MCP server&lt;/strong&gt; you can plug into Codex itself. Below is how to use both from a terminal.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  1. "Is a reset likely soon?"
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-sS&lt;/span&gt; https://codex-reset.com/api/forecast &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-A&lt;/span&gt; &lt;span class="s1"&gt;'my-script/1.0 (+https://example.com)'&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  | jq &lt;span class="s1"&gt;'{p24: .probabilities.rounded_24h, p48: .probabilities.rounded_48h, confidence, last: .last_reset_at}'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"p24"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"p48"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;35&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"confidence"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"low"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"last"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"2026-09-12T08:09:17.000Z"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;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".&lt;/p&gt;

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

&lt;h2&gt;
  
  
  2. "When was the last reset, and where was it announced?"
&lt;/h2&gt;

&lt;p&gt;Every entry in the record links to the original post:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-sS&lt;/span&gt; https://codex-reset.com/api/timeline &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-A&lt;/span&gt; &lt;span class="s1"&gt;'my-script/1.0 (+https://example.com)'&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  | jq &lt;span class="nt"&gt;-r&lt;/span&gt; &lt;span class="s1"&gt;'[.events[] | select(.group == "reset" and .announcement_state == "announced")]
           | sort_by(.announced_at) | reverse | .[0:3][]
           | "\(.announced_at)  \(.url)"'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;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
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The &lt;code&gt;announcement_state == "announced"&lt;/code&gt; filter matters. A post that only &lt;em&gt;promises&lt;/em&gt; 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.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. "Is Codex down, or did I hit my limit?"
&lt;/h2&gt;

&lt;p&gt;When Codex starts failing, check whether it's an outage before you blame your quota:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-sS&lt;/span&gt; https://codex-reset.com/api/status-history &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-A&lt;/span&gt; &lt;span class="s1"&gt;'my-script/1.0 (+https://example.com)'&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  | jq &lt;span class="nt"&gt;-r&lt;/span&gt; &lt;span class="s1"&gt;'.current.surfaces[] | "\(.label): \(.status)"'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Codex Web: operational
Codex API: operational
Codex CLI: operational
VS Code extension: operational
Codex in ChatGPT Desktop: operational
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  4. Ask Codex directly (MCP)
&lt;/h2&gt;

&lt;p&gt;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 &lt;code&gt;~/.codex/config.toml&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight toml"&gt;&lt;code&gt;&lt;span class="k"&gt;[&lt;/span&gt;&lt;span class="n"&gt;mcp_servers&lt;/span&gt;&lt;span class="k"&gt;.&lt;/span&gt;&lt;span class="n"&gt;codex-reset&lt;/span&gt;&lt;span class="k"&gt;]&lt;/span&gt;
&lt;span class="n"&gt;url&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;"https://codex-reset.com/mcp"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Or in Claude Code:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;claude mcp add &lt;span class="nt"&gt;--transport&lt;/span&gt; http codex-reset https://codex-reset.com/mcp
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then just ask, in the agent:&lt;/p&gt;

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

&lt;p&gt;There are three tools, &lt;code&gt;get_reset_forecast&lt;/code&gt;, &lt;code&gt;get_reset_timeline&lt;/code&gt; and &lt;code&gt;get_codex_status&lt;/code&gt;, all read-only. Config for Cursor, VS Code and others is in the &lt;a href="https://github.com/suvadadepolo-blip/codex-reset-mcp" rel="noopener noreferrer"&gt;codex-reset-mcp repo&lt;/a&gt;. The repo also installs as a Codex plugin.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. A tiny "tell me when it resets" script
&lt;/h2&gt;

&lt;p&gt;The record only changes when a reset is announced, so a watcher just compares &lt;code&gt;last_reset_at&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;#!/usr/bin/env bash&lt;/span&gt;
&lt;span class="c"&gt;# Poll politely: the data refreshes about once a minute; every 5 minutes is plenty.&lt;/span&gt;
&lt;span class="nv"&gt;UA&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;'reset-watch/1.0 (+https://example.com)'&lt;/span&gt;
&lt;span class="nv"&gt;last&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;""&lt;/span&gt;
&lt;span class="k"&gt;while &lt;/span&gt;&lt;span class="nb"&gt;true&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do
  &lt;/span&gt;&lt;span class="nv"&gt;now&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="si"&gt;$(&lt;/span&gt;curl &lt;span class="nt"&gt;-sS&lt;/span&gt; &lt;span class="nt"&gt;-A&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="nv"&gt;$UA&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt; https://codex-reset.com/api/forecast | jq &lt;span class="nt"&gt;-r&lt;/span&gt; &lt;span class="s1"&gt;'.last_reset_at'&lt;/span&gt;&lt;span class="si"&gt;)&lt;/span&gt;
  &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="nt"&gt;-n&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="nv"&gt;$last&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="nv"&gt;$now&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt; &lt;span class="o"&gt;!=&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="nv"&gt;$last&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then
    &lt;/span&gt;osascript &lt;span class="nt"&gt;-e&lt;/span&gt; &lt;span class="s1"&gt;'display notification "Codex limits were reset" with title "Codex"'&lt;/span&gt; 2&amp;gt;/dev/null &lt;span class="se"&gt;\&lt;/span&gt;
      &lt;span class="o"&gt;||&lt;/span&gt; notify-send &lt;span class="s2"&gt;"Codex limits were reset"&lt;/span&gt; 2&amp;gt;/dev/null &lt;span class="se"&gt;\&lt;/span&gt;
      &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;"Codex limits were reset at &lt;/span&gt;&lt;span class="nv"&gt;$now&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;
  &lt;span class="k"&gt;fi
  &lt;/span&gt;&lt;span class="nv"&gt;last&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$now&lt;/span&gt;
  &lt;span class="nb"&gt;sleep &lt;/span&gt;300
&lt;span class="k"&gt;done&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If you'd rather not run anything, the site also pushes the same event to Telegram, Discord and browser notifications.&lt;/p&gt;

&lt;h2&gt;
  
  
  Using the data in your own tool
&lt;/h2&gt;

&lt;p&gt;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 (&lt;code&gt;Data: codex-reset.com&lt;/code&gt;, linked), and send an identifying &lt;code&gt;User-Agent&lt;/code&gt; from servers. Field reference and polling guidance: &lt;a href="https://codex-reset.com/developers" rel="noopener noreferrer"&gt;codex-reset.com/developers&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

</description>
      <category>codex</category>
      <category>openai</category>
      <category>mcp</category>
      <category>cli</category>
    </item>
  </channel>
</rss>
