<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Usage Limits on KnightLi Blog</title>
        <link>https://knightli.com/en/tags/usage-limits/</link>
        <description>Recent content in Usage Limits on KnightLi Blog</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>en</language>
        <lastBuildDate>Sun, 17 May 2026 08:36:15 +0800</lastBuildDate><atom:link href="https://knightli.com/en/tags/usage-limits/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>Why Did Codex Usage Limits Suddenly Reset? History and Sources</title>
        <link>https://knightli.com/en/2026/05/17/codex-usage-limit-reset-history/</link>
        <pubDate>Sun, 17 May 2026 08:36:15 +0800</pubDate>
        
        <guid>https://knightli.com/en/2026/05/17/codex-usage-limit-reset-history/</guid>
        <description>&lt;p&gt;Codex users sometimes see an odd situation: their usage limits recover even though their normal reset time has not arrived. This kind of unexpected reset is not new, and it does not necessarily mean the quota policy has permanently become more generous. It may come from incident compensation, product promotions, growth milestones, or a backend reset that only applies to certain windows or account states.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://knightli.com/2026/05/17/codex-usage-limit-reset-history/tibo-codex-gpt55-reset.png&#34;
	width=&#34;1146&#34;
	height=&#34;712&#34;
	srcset=&#34;https://knightli.com/2026/05/17/codex-usage-limit-reset-history/tibo-codex-gpt55-reset_hu_8e2e55bed895f615.png 480w, https://knightli.com/2026/05/17/codex-usage-limit-reset-history/tibo-codex-gpt55-reset_hu_1736ae030ba80b22.png 1024w&#34;
	loading=&#34;lazy&#34;
	
		alt=&#34;Screenshot of Tibo discussing a Codex usage limits reset&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;160&#34;
		data-flex-basis=&#34;386px&#34;
	
&gt;&lt;/p&gt;
&lt;p&gt;This screenshot comes from a post on X by Tibo Sottiaux (@thsottiaux), who leads the OpenAI Codex team. For users tracking limits, the key point is not the model detail but the line saying he would reset usage limits that evening. The context suggests this was a compensating reset, not a normal scheduled refresh.&lt;/p&gt;
&lt;h2 id=&#34;short-version&#34;&gt;Short Version
&lt;/h2&gt;&lt;p&gt;Sudden Codex usage limit resets usually fall into several categories:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Incident compensation&lt;/strong&gt;: a Codex or model issue wastes user quota, so OpenAI resets limits to make up for it.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Launch or promotion events&lt;/strong&gt;: a new model, client, or feature ships with temporary extra capacity or a reset.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Growth milestones&lt;/strong&gt;: OpenAI resets or raises limits after Codex reaches a user-growth milestone.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Backend policy changes&lt;/strong&gt;: only some quota windows or account states are reset, and the UI may not explain the scope.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The most common misunderstanding is assuming that “reset” means every visible quota window recovered. In practice, Codex may have short rolling windows, weekly limits, model-specific consumption weights, and plan-specific rules. A special reset may only affect part of that system.&lt;/p&gt;
&lt;h2 id=&#34;what-this-screenshot-shows&#34;&gt;What This Screenshot Shows
&lt;/h2&gt;&lt;p&gt;The screenshot shows Tibo posting an update on May 15, 2026, saying the team would continue monitoring and reset usage limits that evening. It quotes an earlier message saying the team was investigating reports from some users.&lt;/p&gt;
&lt;p&gt;For users, there are three practical takeaways:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;This was not a normal user-specific reset cycle; it was an active reset by the team.&lt;/li&gt;
&lt;li&gt;The reset had a specific event context and was not a permanent limit increase.&lt;/li&gt;
&lt;li&gt;The phrase “usage limits” does not by itself clarify whether both short windows and weekly limits were included.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;So if your quota recovered, treat it first as a special reset event, not as evidence that future limits have changed.&lt;/p&gt;
&lt;h2 id=&#34;why-codex-resets-can-feel-unexpected&#34;&gt;Why Codex Resets Can Feel Unexpected
&lt;/h2&gt;&lt;p&gt;Codex limits are not simply “refreshed at a fixed time every day.” The backend may track several things at once:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Short usage windows, such as a few-hour window.&lt;/li&gt;
&lt;li&gt;Weekly or longer-period limits.&lt;/li&gt;
&lt;li&gt;Different consumption weights for different models.&lt;/li&gt;
&lt;li&gt;Different entry points such as local Codex, Cloud Tasks, IDEs, and the CLI.&lt;/li&gt;
&lt;li&gt;Plan differences across Plus, Pro, Business, and Team.&lt;/li&gt;
&lt;li&gt;Whether an account is eligible for a special reset.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;When OpenAI applies a special reset, the UI may not clearly say whether it was a normal cycle refresh or a special compensation event. If only the short window resets, users may assume the weekly limit should also recover. If the weekly limit does not move, it can look like the reset failed.&lt;/p&gt;
&lt;p&gt;An issue in the OpenAI Codex GitHub repository raised the same transparency problem: public messaging said Codex rate limits had been reset, but the product UI did not clearly show which windows were reset, whether the weekly limit was included, or whether all paid plans were affected equally.&lt;/p&gt;
&lt;h2 id=&#34;historical-patterns&#34;&gt;Historical Patterns
&lt;/h2&gt;&lt;h3 id=&#34;1-february-2026-launch-period-and-temporary-extra-capacity&#34;&gt;1. February 2026: Launch Period and Temporary Extra Capacity
&lt;/h3&gt;&lt;p&gt;During the Codex desktop app and &lt;code&gt;GPT-5.3-Codex&lt;/code&gt; promotion period, community users discussed usage limit resets and temporary 2x rate limits. Reddit users mentioned that the Codex app launch came with limited-time 2x rate limits and a usage limit reset.&lt;/p&gt;
&lt;p&gt;This kind of reset looks more like a launch-period operation: encourage people to try the new client, model, or workflow.&lt;/p&gt;
&lt;h3 id=&#34;2-march-2026-random-resets-and-abnormal-consumption&#34;&gt;2. March 2026: Random Resets and Abnormal Consumption
&lt;/h3&gt;&lt;p&gt;Around March, the community repeatedly discussed “random usage reset” and “weekly limit reset daily” behavior. Some users said their weekly limit recovered early, while others connected the behavior to new Codex models, safety blocks, abnormal quota burn, or bug fixes.&lt;/p&gt;
&lt;p&gt;These discussions are not official announcements, but they show that users had already observed Codex limits recovering outside their normal schedules.&lt;/p&gt;
&lt;h3 id=&#34;3-april-2026-growth-milestones-and-paid-plan-resets&#34;&gt;3. April 2026: Growth Milestones and Paid-Plan Resets
&lt;/h3&gt;&lt;p&gt;In late April, public reporting said Codex had reached 3 million weekly active users and that OpenAI reset rate limits, with plans to give users more room at later growth milestones.&lt;/p&gt;
&lt;p&gt;A GitHub issue also cited a Tibo post from April 28 saying he had reset Codex rate limits for paid plans after a “good week,” so users could build more with &lt;code&gt;GPT-5.5&lt;/code&gt;. The same issue noted that the product UI did not clearly explain which quota windows were actually reset or whether the weekly limit was included.&lt;/p&gt;
&lt;p&gt;This shows why activity-based resets can still cause confusion: users may hear broad wording but see different behavior in their own account.&lt;/p&gt;
&lt;h3 id=&#34;4-may-2026-compensation-reset&#34;&gt;4. May 2026: Compensation Reset
&lt;/h3&gt;&lt;p&gt;The screenshot in this post is a clearer example of a compensation-style reset. Tibo said the team had found issues and would reset usage limits that evening. OpenAI Status also recorded Codex-related elevated errors and degraded latency on May 13, 2026.&lt;/p&gt;
&lt;p&gt;For ordinary users, the point is not which model detail caused the issue. The key lesson is that OpenAI may reset limits when a service-side problem causes users to burn quota abnormally.&lt;/p&gt;
&lt;h2 id=&#34;how-to-interpret-a-sudden-reset&#34;&gt;How to Interpret a Sudden Reset
&lt;/h2&gt;&lt;p&gt;If your Codex quota suddenly recovers, check in this order:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Confirm whether your normal reset time had arrived.&lt;/li&gt;
&lt;li&gt;Check OpenAI Status for Codex incidents, model errors, latency, or degraded performance.&lt;/li&gt;
&lt;li&gt;Look for updates from Tibo, OpenAI accounts, or Codex GitHub issues.&lt;/li&gt;
&lt;li&gt;See whether community users are reporting the same reset, abnormal burn, or weekly-limit confusion.&lt;/li&gt;
&lt;li&gt;Separate short-window resets from weekly limits; do not assume they always move together.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;If it is official incident compensation, there is usually a status-page entry, a team announcement, or a cluster of user reports. If it is only a partial backend refresh, there may be no clear public announcement.&lt;/p&gt;
&lt;h2 id=&#34;how-reliable-are-the-sources&#34;&gt;How Reliable Are the Sources?
&lt;/h2&gt;&lt;p&gt;It helps to separate sources by reliability:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;OpenAI Status&lt;/strong&gt;: best for confirming service incidents, error rates, latency, and recovery times.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tibo / OpenAI official accounts&lt;/strong&gt;: useful for special reset, compensation, or promotion messaging.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;OpenAI Codex GitHub issues&lt;/strong&gt;: useful for seeing user reports about UI behavior, quota windows, and actual product behavior.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Reddit / X discussions&lt;/strong&gt;: useful for spotting broad user patterns, but not official confirmation.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Third-party news or blogs&lt;/strong&gt;: useful for timeline context, but should be checked against original sources.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;When writing or making decisions, keep these layers separate. “OpenAI Status recorded an incident” is an official status signal. “Reddit users reported random resets” is community observation. “A GitHub issue reported unclear UI behavior” is a user-submitted product issue.&lt;/p&gt;
&lt;h2 id=&#34;summary&#34;&gt;Summary
&lt;/h2&gt;&lt;p&gt;A sudden Codex usage limit reset is usually not just “free quota from nowhere.” It may come from incident compensation, launch promotion, growth activity, or a backend policy update. The confusing part is that Codex has multiple quota windows, and a special reset may not include all of them. The UI may also fail to show the reset scope clearly.&lt;/p&gt;
&lt;p&gt;When it happens, check your actual client-side quota first, then compare it with OpenAI Status, Tibo’s posts, Codex GitHub issues, and community reports. Do not assume one reset means the long-term rules have changed, and do not assume weekly limits, short windows, and every plan all reset together.&lt;/p&gt;
&lt;p&gt;References:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://status.openai.com/incidents/01KRG6MF021JQ997JCR7R8Y9A0&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;OpenAI Status: Codex 5.5 engines are experiencing high error rate&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.reddit.com/r/LovingCodex/comments/1teo5ki/tibo_we_foundfixed_two_issues_that_could_explain/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Reddit repost of Tibo&amp;rsquo;s announcement screenshot and X link&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/openai/codex/issues/20395&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;GitHub: Clarify Codex rate-limit reset behavior and make reset scope visible in Usage UI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.createwith.com/tool/chatgpt/updates/chatgpt-codex-hits-3-million-weekly-users-openai-resets-rate-limits&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Create With: ChatGPT Codex Hits 3 Million Weekly Users, OpenAI Resets Rate Limits&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.reddit.com/r/codex/comments/1rjcwli/usage_limit_reset/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Reddit: Usage limit reset?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.reddit.com/r/codex/comments/1qu2gjx/when_the_unnexpected_usage_limit_reset_hits_ty/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Reddit: when the unexpected usage limit reset hits&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
        <title>How Codex Usage Limits Work: 5-Hour Limits, Weekly Limits, and Credits</title>
        <link>https://knightli.com/en/2026/04/15/codex-usage-limits-five-hour-weekly-credits/</link>
        <pubDate>Wed, 15 Apr 2026 22:50:00 +0800</pubDate>
        
        <guid>https://knightli.com/en/2026/04/15/codex-usage-limits-five-hour-weekly-credits/</guid>
        <description>&lt;p&gt;When people first look at Codex usage limits, it is easy to assume that the &lt;code&gt;5-hour limit&lt;/code&gt; is a short-term balance, and that the &lt;code&gt;weekly limit&lt;/code&gt; only starts decreasing after the 5-hour quota is used up.&lt;/p&gt;
&lt;p&gt;That is not how it works. Codex is better understood as checking multiple limit windows at the same time: a short window prevents burst usage, while the weekly window controls total usage over the week. A Codex request usually counts against both.&lt;/p&gt;
&lt;p&gt;So this situation is usually normal:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;5-hour quota still has plenty left
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;but weekly quota has already decreased
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;01-the-short-version&#34;&gt;01 The Short Version
&lt;/h2&gt;&lt;p&gt;You can understand Codex usage with three rules:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;The &lt;code&gt;5-hour limit&lt;/code&gt; and the &lt;code&gt;weekly limit&lt;/code&gt; apply at the same time.&lt;/li&gt;
&lt;li&gt;If the weekly limit is exhausted, you usually cannot continue using the same subscription quota pool even if the 5-hour quota still has room.&lt;/li&gt;
&lt;li&gt;Codex is not priced by simple message count. Usage depends on the model, tokens, task complexity, context size, and execution location.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;In pseudocode:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;can_use_codex =
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    five_hour_remaining &amp;gt; 0
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &amp;amp;&amp;amp; weekly_remaining &amp;gt; 0
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &amp;amp;&amp;amp; no other product policy is triggered
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;When the 5-hour window resets, only the 5-hour quota is restored. It does not restore weekly quota. Weekly quota resets on its own schedule, or you may be able to buy extra credits on supported plans.&lt;/p&gt;
&lt;h2 id=&#34;02-why-both-windows-decrease&#34;&gt;02 Why Both Windows Decrease
&lt;/h2&gt;&lt;p&gt;Think of Codex limits as two gates:&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Window&lt;/th&gt;
          &lt;th&gt;Purpose&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;5-hour window&lt;/td&gt;
          &lt;td&gt;Prevents high-frequency burst usage&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Weekly window&lt;/td&gt;
          &lt;td&gt;Controls total weekly usage&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Each Codex task creates real usage. That usage is reflected in the relevant rate limit windows.&lt;/p&gt;
&lt;p&gt;It is not:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Use 5-hour quota first
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;After the 5-hour quota runs out
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Start using weekly quota
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;It is closer to:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;One Codex request
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;=&amp;gt; counts toward the 5-hour window
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;=&amp;gt; also counts toward the weekly window
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;That is why weekly usage can drop even when the 5-hour quota is not exhausted.&lt;/p&gt;
&lt;h2 id=&#34;03-look-at-token-based-credits&#34;&gt;03 Look at Token-Based Credits
&lt;/h2&gt;&lt;p&gt;OpenAI does not publish a formula that lets users fully reproduce the exact Codex charge. What is public is the rate card, the main factors, and per-model credit pricing.&lt;/p&gt;
&lt;p&gt;As of 2026-04-15, the main Codex rate card model is &lt;code&gt;token-based credits&lt;/code&gt;. Usage is estimated from input tokens, cached input tokens, and output tokens.&lt;/p&gt;
&lt;p&gt;Example official rates:&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Model&lt;/th&gt;
          &lt;th style=&#34;text-align: right&#34;&gt;Input / 1M tokens&lt;/th&gt;
          &lt;th style=&#34;text-align: right&#34;&gt;Cached input / 1M tokens&lt;/th&gt;
          &lt;th style=&#34;text-align: right&#34;&gt;Output / 1M tokens&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;GPT-5.4&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;62.50 credits&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;6.250 credits&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;375 credits&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;GPT-5.4-Mini&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;18.75 credits&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;1.875 credits&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;113 credits&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;GPT-5.3-Codex&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;43.75 credits&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;4.375 credits&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;350 credits&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;GPT-5.2-Codex&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;43.75 credits&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;4.375 credits&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;350 credits&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;GPT-5.1-Codex-Max&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;31.25 credits&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;3.125 credits&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;250 credits&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;GPT-5.1-Codex-mini&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;6.25 credits&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;0.625 credits&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;50 credits&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;A rough estimate is:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;usage
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;≈ input tokens / 1,000,000 × model input price
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;+ cached input tokens / 1,000,000 × model cached input price
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;+ output tokens / 1,000,000 × model output price
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;This is not an exact billing formula, but it explains the trend: output is expensive, long context is expensive, and stronger models cost more. The official rate card also says &lt;code&gt;Fast mode&lt;/code&gt; uses 2x credits, and &lt;code&gt;Code review&lt;/code&gt; uses GPT-5.3-Codex pricing.&lt;/p&gt;
&lt;h2 id=&#34;04-do-not-only-count-messages&#34;&gt;04 Do Not Only Count Messages
&lt;/h2&gt;&lt;p&gt;Ten Codex messages can consume very different amounts.&lt;/p&gt;
&lt;p&gt;Light tasks are usually cheaper:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Editing one small function&lt;/li&gt;
&lt;li&gt;Explaining a short code snippet&lt;/li&gt;
&lt;li&gt;Writing a short paragraph&lt;/li&gt;
&lt;li&gt;Making a local change in a clearly specified file&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Heavy tasks cost more:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Scanning a large codebase&lt;/li&gt;
&lt;li&gt;Running a long agent session&lt;/li&gt;
&lt;li&gt;Repeated read, edit, test, and fix loops&lt;/li&gt;
&lt;li&gt;Generating lots of code or a long report&lt;/li&gt;
&lt;li&gt;Using cloud tasks&lt;/li&gt;
&lt;li&gt;Enabling fast mode&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;So message count is only a rough feeling. It does not tell you the real usage.&lt;/p&gt;
&lt;h2 id=&#34;05-local-tasks-vs-cloud-tasks&#34;&gt;05 Local Tasks vs Cloud Tasks
&lt;/h2&gt;&lt;p&gt;Execution location can make a big difference.&lt;/p&gt;
&lt;p&gt;A &lt;code&gt;local task&lt;/code&gt; works in your local workspace: reading files, editing code, and running commands. A &lt;code&gt;cloud task&lt;/code&gt; is delegated to a hosted cloud environment, which is better for longer and more automated workflows.&lt;/p&gt;
&lt;p&gt;Cloud tasks are often more expensive because they involve:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A hosted execution environment&lt;/li&gt;
&lt;li&gt;Longer tasks&lt;/li&gt;
&lt;li&gt;More tool calls&lt;/li&gt;
&lt;li&gt;Larger context&lt;/li&gt;
&lt;li&gt;A more complete automation loop&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For normal code edits, article cleanup, or small fixes, local tasks are usually cheaper. Use cloud tasks when the job truly needs hosted execution.&lt;/p&gt;
&lt;h2 id=&#34;06-why-weekly-usage-drops-fast&#34;&gt;06 Why Weekly Usage Drops Fast
&lt;/h2&gt;&lt;p&gt;If your 5-hour quota barely moves but weekly usage drops a lot, common causes include:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;You used cloud tasks.&lt;/li&gt;
&lt;li&gt;You used a more expensive model.&lt;/li&gt;
&lt;li&gt;You enabled fast mode.&lt;/li&gt;
&lt;li&gt;The context was large, with many files or a long conversation.&lt;/li&gt;
&lt;li&gt;The output was long, such as lots of code, a long report, or log analysis.&lt;/li&gt;
&lt;li&gt;The task chain was long: search, edit, test, fix, test again.&lt;/li&gt;
&lt;li&gt;Your quota script mislabeled the limit windows.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;If you read fields from something like &lt;code&gt;/backend-api/wham/usage&lt;/code&gt;, do not only trust processed labels such as &lt;code&gt;five_hour%&lt;/code&gt; or &lt;code&gt;weekly%&lt;/code&gt;. Check the raw JSON fields:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;limit_window_seconds&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;percent_left&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;reset_at&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;bucket / feature name&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Typical windows:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;limit_window_seconds = 18000
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;=&amp;gt; about 5 hours
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;limit_window_seconds = 604800
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;=&amp;gt; about 7 days
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;If your script labels the windows backwards, the quota display will be misleading.&lt;/p&gt;
&lt;h2 id=&#34;07-how-to-save-quota&#34;&gt;07 How to Save Quota
&lt;/h2&gt;&lt;p&gt;To make weekly quota last longer:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Split large jobs into smaller tasks.&lt;/li&gt;
&lt;li&gt;Prefer local tasks when possible.&lt;/li&gt;
&lt;li&gt;Tell Codex the relevant paths to reduce unnecessary scanning.&lt;/li&gt;
&lt;li&gt;Avoid dumping huge logs, long files, or unrelated context.&lt;/li&gt;
&lt;li&gt;Use cheaper mini models for light work.&lt;/li&gt;
&lt;li&gt;Ask for a plan before starting a long task.&lt;/li&gt;
&lt;li&gt;Ask for concise answers when you do not need a long report.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;A useful mental model:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;can continue using
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;= short window has quota
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&amp;amp;&amp;amp; weekly window has quota
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;usage speed
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;= model price
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;× tokens
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;× output length
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;× task complexity
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;× execution location
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;This model is not exact billing math, but it explains most Codex usage-limit behavior.&lt;/p&gt;
&lt;h2 id=&#34;related-links&#34;&gt;Related Links
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://help.openai.com/en/articles/11369540-using-codex-with-your-chatgpt-plan&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Using Codex with your ChatGPT plan - OpenAI Help Center&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://help.openai.com/en/articles/11481834&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;ChatGPT Rate Card - OpenAI Help Center&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://help.openai.com/zh-hans-cn/articles/20001106-codex-rate-card&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Codex rate card - OpenAI Help Center&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://help.openai.com/en/articles/12642688-using-credits-for-flexible-usage-in-chatgpt-pluspro&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Using Credits for Flexible Usage in ChatGPT - OpenAI Help Center&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        
    </channel>
</rss>
