Releases

Codex resets were a marketing stunt. The problem was real

OpenAI reset Codex usage five times in ten days and called each one a celebration. It was a marketing stunt, and it made a real usage problem hard to see.

On this page
  1. Did OpenAI remove banked resets?
  2. The resets were a marketing stunt
  3. Why did Sol burn through Codex limits so fast?
  4. The other moves that made it harder to see
  5. Can the same quota buy less work?
  6. How the resets erased the measurement
  7. Was any of this aimed at Claude?
  8. What would actually settle this

OpenAI reset Codex usage limits five times between 12 and 21 July 2026, once per user milestone. That was a marketing stunt, and OpenAI never pretended otherwise. In the same fortnight the five-hour limit came off and Sol’s context window shrank, and those moves made a real problem hard to see: Sol was spending users’ limits faster than planned [1].

I am writing this on 10 August 2026, the morning a lot of Codex users opened the app and found their banked resets gone. The most-read post on r/codex says OpenAI removed them [2]. That is the smallest question in this story, and I answer it first, because getting it wrong would discredit everything after it.

Three things here are real and separately documented: the resets were a marketing stunt, Sol’s consumption problem was real and OpenAI eventually admitted it, and the competitive push against Claude was real. I cannot prove that the stunt was designed to cover the problem, and I am not going to pretend the evidence reaches that far. What the record does show is the effect. The stunt worked as a smokescreen, because by the time the problem was admitted, almost nobody had a clean week left to measure it with.

Did OpenAI remove banked resets?

Nothing OpenAI has published says so. Its help center still explains how to redeem one [3], its referral terms still cover them and promise notice before a promotion changes [4], and no OpenAI employee said anything in public on 9 or 10 August. What exists is a Reddit thread whose reports point in several directions at once.

The original poster had two banked resets, due on 12 and 13 August, and wrote that the option to use them had vanished from the interface. Updating the app and signing out and back in did not bring them back, which led to the conclusion that OpenAI was rolling the change out in phases [2]. One reply reports a larger loss with a support conversation to match: “They removed 3 of mine. I had 2 banked to expire on aug 11 and 1 on aug 12. I even contacted support and the agent verified that I had none in my account” [5].

Read further down, though, and the pattern breaks up. Other users still had theirs [6]. Some could see the reset but got an error when they tried to apply it, which is a different failure from having it taken away [7]. One user lost the reset on one account, got it back by signing out and in again, then checked a second account and found the most useful detail in the thread: the account that had lost its banked reset had also been globally reset to 100% earlier that day with a new weekly date, while the account that had not been globally reset still had its banked reset [8]. Others reported theirs returning without doing anything at all [9], and a thread posted four minutes before the main one describes the panel failing to load the credits rather than showing zero of them [10].

All of that happened inside about three hours. A deliberate withdrawal of a paid benefit does not usually reverse itself on some accounts while a support agent tells another customer, in a line one user quoted, “We cannot disclose why we add or remove resets” [11]. The popular alternative explanation does not survive a look at the clock either: OpenAI’s status page records a ChatGPT incident that morning, titled “Increased errors for some ChatGPT users”, opened at 07:21 UTC and resolved at 08:09 UTC [12]. The first of these posts went up at 08:44 UTC [10], about 35 minutes after the incident was marked resolved, and reports kept arriving past 11:00. The notice closed before the reports began, and it never mentions resets or usage limits, so it does not explain them.

What would change the conclusion is easy to state: a changelog entry, an edit to the help center, or the 30 days of notice the referral terms promise before OpenAI modifies or winds down a promotion [4]. Until one of those turns up, the accurate description is narrower than the headline. Banked resets failed for many accounts on 10 August, and some of them came back.

The resets were a marketing stunt

They were never presented as anything else, which is the part people forget when they argue about whether a reset is generous. On 7 April 2026 Sam Altman wrote: “To celebrate 3 million weekly codex users, we are resetting usage limits. We will do this every million users up to 10 million” [13]. Two days later Tibo was already treating that promise as a running expense: “At the current codex growth pace, we will owe you all another reset in less than two weeks” [14]. The four million reset followed on 21 April [15].

The banking mechanic arrived on 11 June, and OpenAI’s changelog describes it as user acquisition without much decoration: “Added rate-limit reset banking for Plus and Pro users, including one free reset at launch and referral invitations for earning more during the current promotion” [16]. The referral offer ran from 11 to 24 June and paid both sides. Invite up to three people, and when an invitee sends their first Codex message, both accounts receive a banked reset [17]. OpenAI was buying new users with inference instead of with discounts, which is cheaper for a company that owns the capacity and reads as more generous than a coupon.

Then came July. GPT-5.6 launched on 9 July with Sol as the flagship [18], ChatGPT Work launched alongside it, and the milestone counter moved fast enough to fire five resets in ten days: six million on 12 July [19], seven million on 13 July [20], eight million on 14 July [21], nine million on 16 July [22], and ten million on 21 July [23]. One detail matters when reading that ramp. From six million onward the figure counts Codex and ChatGPT Work together, and ChatGPT Work was three days old when the six million post went up, so the number that justified each reset quietly changed what it was counting.

  1. The promise

    Altman: one usage reset per million Codex users, up to ten million.

  2. Reset banking

    Banked resets ship as a Plus and Pro referral reward.

  3. GPT-5.6 Sol

    Sol becomes the flagship model in Codex.

  4. Five resets in ten days

    The five-hour limit comes off, milestones six to ten million follow.

  5. The admission

    Sol used limits faster than expected; usage to last about 18% longer.

  6. Banked resets fail

    Missing resets reported, some restored within hours.

Figure 1. From the first milestone promise to the resets failing, April to August 2026.

Why did Sol burn through Codex limits so fast?

Because what a Codex task costs depends on how much work the model does, not on its rate. Sol and GPT-5.5 bill at exactly the same credits per token [17], so switching to Sol looks free on the rate card. Sol then runs longer, calls more tools and reads more of the repository, and every one of those turns is billed.

Tibo confirmed the effect on 29 July: “Over the past few weeks, many of you have told us that Sol was using your Codex limits faster than expected.” He added that “some issues only become clear once people are using the model at real-world scale. We should have recognized this sooner and been more upfront about it” [1].

The rate card explains why nobody could have predicted this from the price list. Sol and GPT-5.5 both cost 125 credits per million input tokens, 12.5 for cached input and 750 for output [17]. Identical rates, and the same page admits the rate is not what you should plan with: “Model choice, context, reasoning, tool use, retrieval, and caching all affect usage, so prompt length alone isn’t a reliable estimate”, and, further down, “Tasks that look similar can consume different amounts of your allowance” [17]. OpenAI’s own working figure for a single message spans nearly an order of magnitude: “GPT-5.6 usage averages 5-40 credits per message” [17].

Sol’s behavior sits at the expensive end of that range, which is the part I had already run into. In an earlier piece on Sol’s over-engineering I described a model that keeps working after the task is solved, and it also delegates to subagents, which OpenAI’s own documentation flags as costly: “Subagent workflows consume more tokens than comparable single-agent runs” [24]. A model that does more work per instruction is more expensive per instruction, even when the per-token rate never moves.

The other moves that made it harder to see

Four more changes landed in the same fortnight, and each one removed a way of noticing what was happening.

The first was the five-hour limit. Three days after Sol shipped, Tibo announced alongside the six million milestone: “Temporarily removing the 5 hour usage limit restriction for all Plus, Business and Pro plans” [19]. That window is what stops a weekly allowance from being spent in one afternoon. Lifting it during launch week makes the product feel unrestricted, and it also lets a model that consumes more per task drain a weekly pool in a fraction of a week. On 14 July Tibo was still presenting it as a feature, telling users they could “explore the boundaries of GPT-5.6 Sol and discover how ambitious you can be” [21]. It came back on 29 July, in the same post as the fixes [1], and OpenAI’s pricing page documents it again today, with a hedge on the weekly one: “The usage limits for local messages and cloud chats share a five-hour window. Additional weekly limits may apply” [17].

The second was the context window, and the way it was announced is the sharpest example in this article. On 13 July Tibo posted an update to Codex and ChatGPT Work users that opens “No nerfing, only good stuff!” and then, further down, explains this: “We noticed that by changing the context size limit in the product to 372k for GPT-5.6 Sol, up from 272k for GPT-5.5, it resulted in more usage being charged than intended. We have reverted to 272k and will work to roll back out to 372k in the days to come” [25]. A cut to a product’s working memory arrived under a headline denying that anything had been cut. A GitHub issue filed on 21 July puts the numbers side by side: 372,000 raw and 353,400 effective tokens at launch, against 272,000 raw and 258,400 effective on the server profile since [26]. That is 95,000 fewer usable tokens, about 27% less. The promised return never arrived. OpenAI’s changelog recorded 272,000 as a correction on 18 July [16], nothing since has changed it, and the same model still accepts 1,050,000 tokens through the API [27].

Less context is not just a smaller number on a spec sheet. A shorter window means a long Codex thread compacts sooner, so the model re-reads files it has already read and re-establishes decisions it has already made, and each of those turns is billed. The change that reduced how much usage a single conversation charges can therefore raise the number of conversations a job needs.

The third and fourth moves are quieter, and I have already described both: the rate card never moved, and the growth number started counting two products right as the resets got fastest. None of the four is a scandal on its own. Together they left a user watching the usage panel, the price list and the milestone posts with no instrument that would show the change.

longer typical Sol usage
18 %
OpenAI's expectation after the July fixes
token context in Codex
272,000
down from 372,000 on 13 July
token context through the API
1,050,000
same model, different product
credits per message
5-40
OpenAI's own average range for GPT-5.6

Those four numbers describe one gap. The model on the API and the model in the subscription are the same model, but the subscription version works with about a quarter of the context and bills against an allowance whose cost per message OpenAI itself can only give as a range.

Can the same quota buy less work?

Yes, and OpenAI’s denial is narrower than it first reads. On 30 July the company wrote that “ChatGPT and Codex subscription prices and quota budgets remain unchanged” [28], and Tibo had put it more bluntly the day before: “we have not reduced usage on any subscription plans” [1]. Both sentences describe the size of the allowance. Neither describes what the allowance buys, which was the thing users were actually complaining about.

The 18% figure settles the question, because OpenAI is the one supplying it. From the same 29 July post: “we expect your usage to last around 18% longer during typical use of Sol” [1]. If a set of fixes makes an unchanged budget last 18% longer, then before those fixes the same unchanged budget was buying less work. Nobody touched the number on the plan, and users still lost something. Both statements are true at once, which is exactly what makes the denial so slippery.

A small example makes the effect concrete. Suppose a weekly allowance covers 100 tasks under GPT-5.5, and the same task takes half again as many credits under Sol; the allowance now covers about 67. An 18% improvement brings that to roughly 79. The numbers are invented and only the ratio is doing any work, but they show why “we did not reduce your quota” and “I get less done per week” can both be true, and why arguing about the first sentence settles nothing about the second.

One set of numbers that gets pulled into this argument belongs somewhere else entirely. OpenAI reported that Sol’s own kernel work “helped reduce the end-to-end cost of serving the model by 20%”, and that its experiments “increased token-generation efficiency by more than 15%” [28]. Those are OpenAI’s costs, not your allowance. The same announcement did pass savings to customers, by cutting Luna’s API price 80% and Terra’s 20% and making both models consume fewer credits in Codex, but “Sol pricing remains unchanged” [28]. Three percentages, three different subjects, and only the 18% is about what a Sol user gets.

How the resets erased the measurement

This is where the campaign and the problem meet, and it is the part I find hardest to shrug off. A reset does not only refill the tank, it erases the reading. To show that a week under Sol buys less than a week under GPT-5.5, you need a complete billing period with a known start, one model version, a stable effort setting and no top-ups in the middle. Between 12 and 21 July, almost nobody had one.

That is why the Reddit evidence from those weeks is so unsatisfying to read. Threads fill up with “I burned 40% in three hours” next to “I used 2% all day”, and nothing lines the two up: different model versions, different effort settings, different repositories, different cache states, and a reset landing in the middle of half of them. The reports were consistent enough that OpenAI acted on them [1]. They were never precise enough to quantify what had changed, and the resets are a large part of why.

The resets also created a reason to hurry. When a global reset is announced for later the same day, spending whatever is left becomes the rational move, and the campaign ran at a cadence that made that a regular event. That is useful for the metrics a growth campaign watches. It is destructive for anyone trying to observe their own normal consumption.

The two kinds of reset are also not worth the same, which is where the 10 August panic gets its edge. A global reset is applied by OpenAI to every eligible account at a moment OpenAI chooses, so its value depends entirely on how much you happened to have spent. A banked reset is redeemed by the user, which is why it is worth more and why it can be wasted. One user described exactly that: down to 10% with a weekly reset due on 11 August, they redeemed their last banked reset, OpenAI reset everyone the same day, and their next weekly reset moved out to 15 August [29].

Property Global resetBanked reset
Who triggers it OpenAI You
Timing Announced minutes to hours ahead Whenever you choose
Expires if unused Not applicable 30 days after it is granted
Moves the weekly reset date about seven days out Not documented Yes
Can be made worthless by the other kind No Yes
Figure 2. Why the banked kind is the one users track.

Was any of this aimed at Claude?

Yes, and OpenAI barely hid that part. The reset schedule itself tracks OpenAI’s own user milestones and predates Claude Fable 5 by two months, so the campaign was not built as an answer to Anthropic. The comparison is explicit somewhere else: in the material OpenAI published around Sol, and in one reset announced as a direct answer to a public argument.

The tempting coincidence does not hold. Anthropic launched Fable 5 on 9 June 2026 [30], and OpenAI shipped reset banking on 11 June, two days later [16]. Nobody designs and builds a referral program in 48 hours. Anthropic then suspended access to Fable 5 the day after that under a US export-control directive, and reopened it globally on 1 July with the model counting toward up to half of weekly usage limits on Pro, Max, Team and selected Enterprise plans through 7 July [31]. The reset campaign ran before, during and after all of it.

The Sol launch page is where the competitive intent is unmistakable. Claude Fable 5 appears by name in table after table, and the prose picks its moments: “GPT-5.6 Sol with max reasoning sets a new state of the art at 80, 2.8 points above Fable 5, while using less than half the output tokens, taking less than half the time, and costing about one-third less” [18]. The same page carries a row it never discusses in prose, where SWE-Bench Pro puts Fable 5 at 80.0% against Sol’s 64.6% [18]. Choosing which benchmark leads is normal launch behavior. Readers just need to know which table the headline came from.

The 8 August reset is the clearest case of a reset used as a competitive gesture. A user claimed Anthropic had suspended his account for running Sol through Claude Code, and Anthropic’s Boris Cherny replied that they do not ban people for using their harness with other models, adding a recruiting jab at Tibo while he was there [32]. Tibo answered by quoting that post and resetting everyone: “That’s right, GPT-5.6 Sol is awesome and can be used pretty much anywhere, including in the CC harness. To celebrate this, together with the fact that I’m not going anywhere… I have reset usage limits for all paid users of ChatGPT Work and Codex” [33]. Minutes later a user told him the gesture was empty because the weekly reset had already happened the day before: “This is just performative at this point” [34]. Tibo took the word and kept it: “I’ll do another performative reset on Monday” [35]. When the person running the campaign adopts his critic’s word for it, the marketing question is settled.

Anthropic never answered the comparison in public. It did raise Claude Code’s weekly limits by 50% on 18 July, through 19 August, without naming OpenAI once [36].

What would actually settle this

A measurement nobody has published: one plan, one model version, one effort setting, one repository, the same set of tasks, run across two complete weekly periods with no resets in either. Until someone does that, OpenAI’s numbers and its users’ experience can both be accurate, because they are describing different quantities. That is not a comfortable place to leave an argument, but it is where the evidence stops, and the reason the evidence stops there is the campaign itself.

So I would put it this way. The stunt was real, the usage problem was real, and the fight with Anthropic was real, each of them documented by OpenAI itself. What I cannot show you is a decision to use the first of those to cover the second. What I can show you is that it worked out that way: Codex went from three to ten million users in fifteen weeks, the loudest complaints were answered with a free refill instead of a number, and the clean week of data that would have settled the argument never existed.

Two practical notes, since the expiry dates in that Reddit thread are two days out. Screenshot the usage panel, including the reset count and the expiry date, because that panel is served from OpenAI’s side and it is the only record you have. And do not redeem a banked reset on a day when a global reset has been announced. The help center is explicit that using a full banked reset moves your weekly reset date to roughly seven days after you redeem it [3], so spending one a few hours before a free refill costs you the one thing the banked kind was worth: the timing.

Sources

  1. On Sol using Codex limits faster than expectedX, Thibault Sottiaux · 2026-07-29
  2. Open AI removes banked usage resets from CodexReddit, r/codex · 2026-08-10
  3. Using Codex with your ChatGPT planOpenAI Help Center
  4. ChatGPT Desktop Referral PromotionsOpenAI Help Center
  5. Comment reporting three removed banked resets and a support checkReddit, r/codex · 2026-08-10
  6. Comment reporting an intact banked resetReddit, r/codex · 2026-08-10
  7. Confirmed reset bugReddit, r/codex · 2026-08-10
  8. Comment comparing a globally reset account with a second accountReddit, r/codex · 2026-08-10
  9. Comment reporting both banked resets returning unpromptedReddit, r/codex · 2026-08-10
  10. Banked usage limit reset credits not showing on ChatGPT web or desktopReddit, r/codex · 2026-08-10
  11. Comment quoting an OpenAI support replyReddit, r/codex · 2026-08-10
  12. Increased errors for some ChatGPT usersOpenAI Status · 2026-08-10
  13. On resetting usage limits at three million weekly Codex usersX, Sam Altman · 2026-04-07
  14. On owing users another reset at the current growth paceX, Thibault Sottiaux · 2026-04-09
  15. On four million Codex users and another rate limit resetX, Thibault Sottiaux · 2026-04-21
  16. ChatGPT & Codex changelogChatGPT Learn
  17. PricingChatGPT Learn
  18. GPT-5.6: Frontier intelligence that scales with your ambitionOpenAI · 2026-07-09
  19. On six million users and temporarily removing the five hour limitX, Thibault Sottiaux · 2026-07-12
  20. On seven million users and a banked reset for everyoneX, Thibault Sottiaux · 2026-07-13
  21. On eight million users and another resetX, Thibault Sottiaux · 2026-07-14
  22. On nine million users and another resetX, Thibault Sottiaux · 2026-07-16
  23. On ten million users and another resetX, Thibault Sottiaux · 2026-07-21
  24. SubagentsChatGPT Learn
  25. On reverting the Sol context size limit to 272kX, Thibault Sottiaux · 2026-07-13
  26. Restore GPT-5.6 Sol's 372k Codex context window, or provide an opt-in settingGitHub, openai/codex · 2026-07-21
  27. GPT-5.6 SolOpenAI Developers
  28. Advancing the price-performance frontier with GPT-5.6OpenAI · 2026-07-30
  29. OpenAI Screwed me on my resetsReddit, r/codex · 2026-08-10
  30. Claude Fable 5 and Claude Mythos 5Anthropic · 2026-06-09
  31. Redeploying Claude Fable 5Anthropic · 2026-06-30
  32. On bans, harnesses and hiringX, Boris Cherny · 2026-08-08
  33. On Sol in the Claude Code harness and a reset for all paid usersX, Thibault Sottiaux · 2026-08-08
  34. On the reset being performativeX · 2026-08-08
  35. On doing another performative reset on MondayX, Thibault Sottiaux · 2026-08-08
  36. On keeping Claude Code weekly limits 50% higherX, Claude Developers · 2026-07-18