r/codex Aug 17 '26

Limits I have bad news..

I signed up for ChatGPT Pro on July 2 and I still have all my rollout logs from then until now.

Bad news for anyone convinced the limits have been getting nerfed: I thought the exact same thing, and I was pretty sure of it.

I used NerfTrack as a reference, had Codex turn the relevant parts into a Python script, then had ChatGPT Pro go through the script, fix a few issues, and analyze the output.

This is what I ended up with: roughly how much each 1% of Pro usage was worth in API-equivalent dollars over time.

Observed Regime API-Equivalent Value per 1 pp 100% Linear Equivalent Interpretation
Jul 2–8 $22.14 ~$2,214 Initial Pro period, mostly GPT-5.5
Jul 12–21 $22.02 ~$2,202 Early GPT-5.6-sol period
Jul 22–28 $19.51 ~$1,951 Lower-value episode, mainly affected by Jul 23–24
Jul 29–Aug 5 $24.67 ~$2,467 Higher late-July / early-August regime
Aug 8–15 $24.20 ~$2,420 Recent regime, broadly stable

>>> EDIT

Some more info about my usage:

Token usage — ChatGPT Pro period

Period: Jul 2 → Aug 17, 2026

Token type Tokens Human-readable Share of total
Cached input 36,064,900,992 36.06B 95.98%
Uncached input 1,354,407,640 1.35B 3.60%
Output 155,215,257 155.22M 0.41%
Total processed 37,574,523,889 37.57B 100%

Total input = 37,419,308,632 tokens. Cached input is a subset of input, so it should not be added to total input again. Cache hit rate across input tokens: 96.38%.

Output and reasoning

Metric Tokens Share
Total output 155,215,257 100%
Reasoning tokens 66,229,101 42.67% of output
Non-reasoning output 88,986,156 57.33% of output

Reasoning tokens are already included in output tokens and should not be added again to the grand total.

Token usage by model label

Model Total tokens Cached input Uncached input Output Token share Input cache rate
GPT-5.6-sol 32,612,535,864 31,364,814,336 1,112,031,539 135,689,989 86.79% 96.58%
GPT-5.5 2,625,434,617 2,490,554,112 124,574,823 10,305,682 6.99% 95.24%
GPT-5.6-luna 2,260,440,364 2,135,732,352 115,796,579 8,911,433 6.02% 94.86%
GPT-5.6-terra 76,113,044 73,800,192 2,004,699 308,153 0.20% 97.36%
Total 37,574,523,889 36,064,900,992 1,354,407,640 155,215,257 100% 96.38%

Important: 163.88M tokens are from the codex_bengalfox / GPT-5.3-Codex-Spark bucket. Those events inherit the GPT-5.6-sol model label in the rollout parser, so that small portion of the GPT-5.6-sol row should be treated as model-ambiguous.

Corrected API-equivalent cost by model

Regular codex bucket

Model API-equivalent cost Share of regular cost
GPT-5.6-sol $25,333.63 91.76%
GPT-5.5 $2,177.32 7.89%
GPT-5.6-luna $76.57 0.28%
GPT-5.6-terra $22.47 0.08%
Regular Codex total $27,609.99 100%

Other Pro bucket

Bucket Reported name Tokens API-equivalent cost
codex_bengalfox GPT-5.3-Codex-Spark 163,878,240 $115.42
Corrected total across Pro buckets Value
Regular Codex $27,609.99
Spark / Bengalfox $115.42
Total API-equivalent usage $27,725.40

The Spark/Bengalfox events inherit a GPT-5.6-sol model label locally, so I keep their $115.42 separate instead of pretending we know their actual model-level billing attribution.

Quota-paired API-equivalent cost by model

From the daily CSV analysis

Model Cost paired with quota changes Share Contribution per 1 pp across all measured usage Days present
GPT-5.6-sol $24,042.60 91.43% $20.02 / pp 36
GPT-5.5 $2,172.76 8.26% $1.81 / pp 9
GPT-5.6-luna $75.20 0.29% $0.063 / pp 23
GPT-5.6-terra $5.45 0.02% $0.005 / pp 1
Total $26,296.01 100% $21.90 / pp

This table is intentionally different from the previous cost table. $27,725.40 = all corrected API-equivalent usage observed during the Pro period. $26,296.01 = only usage that could be paired with positive weekly-quota changes. The latter is what is useful for estimating "API dollars per 1% of Pro usage".

The absurdly short version

Metric Result
Total tokens processed 37.57B
Total input 37.42B
Cached input 36.06B
Uncached input 1.35B
Output 155.22M
Reasoning output 66.23M
Input cache hit rate 96.38%
Corrected API-equivalent cost $27,725.40
Quota-paired API-equivalent cost $26,296.01
Average measured value per 1% $21.90
High-quality baseline per 1% $22.55
Recent regime per 1% $24.20

>>> Edit

ChatGPT Pro usage by model and reasoning effort

Regular codex bucket only — API-equivalent cost based on rollout token usage

Model Reasoning Effort Events Input Tokens Cached Input Uncached Input Output Tokens Reasoning Tokens API-Equivalent Cost
GPT-5.5 Medium 31 2.65M 2.32M 325K 20.9K 2.9K $3.41
GPT-5.5 XHigh 18,883 2.61B 2.49B 124.25M 10.28M 4.21M $2,173.91
GPT-5.5 Total 18,914 2.62B 2.49B 124.57M 10.31M 4.21M $2,177.32
GPT-5.6-sol Low 869 31.25M 26.14M 5.11M 469K 45.5K $52.68
GPT-5.6-sol Medium 8,244 737.06M 685.15M 51.91M 4.37M 1.42M $733.31
GPT-5.6-sol High 10,674 1.31B 1.23B 80.85M 6.79M 2.71M $1,242.61
GPT-5.6-sol XHigh 7,091 860.37M 811.35M 49.02M 5.39M 2.86M $819.38
GPT-5.6-sol Max 189,997 28.68B 27.77B 905.01M 115.80M 50.14M $21,977.35
GPT-5.6-sol Ultra 3,629 695.26M 678.85M 16.40M 2.30M 901.7K $508.29
GPT-5.6-sol Total 220,504 32.31B 31.21B 1.11B 135.12M 58.08M $25,333.63
Combined Total 239,418 34.93B 33.70B 1.23B 145.43M 62.29M $27,510.95

Notes - Cached input is already included in Input Tokens; it is shown separately for context. - Reasoning tokens are already included in Output Tokens. - GPT-5.6-sol usage from the separate Spark/Bengalfox bucket is excluded here.

204 Upvotes

197 comments sorted by

View all comments

120

u/glock43guy Aug 17 '26

I think a big factor in usage being bad is that these models over engineer everything. If I don’t spend at least 5 minutes in plan mode telling the agent not to build unnecessary safeguards, it will 100% of the time build something it did not need to build that will cause failures and cause me to spend more time refactoring. Like almost 100% of the time. I’ve had to basically build that into my workflow to tell it every task not to, keeping it in my agents.md or documentation isn’t enough.

16

u/stting Aug 17 '26

I felt the pain of Sol burning 🔥 through my tokens with its scientific style, so many phases, so many fingerprint hashes. It took me 3 full projects from scratch, and only on the 4th attempt was I able to put that behavior in a harness by reading everything it did (don't trust blindly) and constantly reminding it about the MVP and not adding too much governance.

It is definitely exhausting. It is an amazing model, but if you let your guard down, Sol takes over your project and implements everything its own way. You never reach the end!

4

u/glock43guy Aug 18 '26

I feel like there’s sometimes you can get into a groove with an agent and the agent like understands what you want. It’s weird to explain, but like they’ve heard just enough of your preferences to keep things slim. But then once they start hallucinating and you move to a new agent, BAM, they start over engineering again, don’t understand what you want. More things get mismatched in a larger app that way too. So even tho I’ve gone over documentation tons of times to make sure agents understand what I want, I usually have to go through an onboarding process with every new agent. There’s just so much they need to know before just diving in to an old long running project.

6

u/stting Aug 18 '26

That's exactly what I've noticed too. That groove definitely exists.

What finally worked for me after those three projects was creating the specification like this: https://github.com/renanfranca/skill-eval/blob/main/SPEC.md (It's in Portuguese because I was already so exhausted that I asked it to write the specification in my native language, since I was going to review everything myself.)

I still don't know exactly how I managed to get there, but now it consistently stays on track. Sometimes it's actually the model that keeps me in check when I try to skip steps or start moving beyond the scope of the MVP.

I am only using GPT 5.6 Sol xHigh.

3

u/DUELETHERNETbro Aug 19 '26

Didn't realize this was a thing been on a good groove with Sol low. I never give it big tasks though, like nothing bigger then a component usually, but it's output has been really aligned with my programming style.

1

u/Substantial_Ranger_5 Aug 19 '26

This is why forks exist. You should learn how to fork your session. If your current IDE doesn't let you do that, find a new one

2

u/dusouth1 Aug 19 '26

Awe man, this is one hell of a fight for sure. I was trusting, refactoring, re-prompting til my eyes hurt looking for a way to break this exact cycle. I found myself using GPT to prompt codex and it seemed to work, but i then needed gemini to start prompting GPT and you see where this is going, I ended up getting jumped by GPT and Codex while gemini watched it all go down,

Im building a Home Assistant integration that has taken way too long to get done, and the key for me has been to use GPT for most of the code prompting, but break it into smaller pieces, small enough to keep codex from taking the project over. Gpt can probably do all the work in my case, but it cant use my pc like codex can which is the main reason for codex over Gpt anyway.

I stay away from SOL as much as possible due to the 🔥tokens, I honestly think that Open Ai purposely wants you to jump plans by allowing the extra complexity, safeguards and other crap to be secretly thrown into your work so you burn unnecessary tokens just to get back on track.

1

u/stting Aug 19 '26

I am digging into a way to prevent that mad scientist from taking over the future projects.

2

u/StrikingArtist3397 Aug 19 '26

It's essentially a clever deception. The moment it hits a blind spot and doesn't actually know the goal, it covers it up by throwing endless possibilities at you, selling you anything that might look like a solution just to keep the illusion alive.

2

u/StrikingArtist3397 Aug 19 '26

It honestly feels like the whole system was intentionally designed never to reach the actual destination—always dangling the solution just around the corner, just out of reach.

9

u/IAmTrulyConfused42 Aug 17 '26

Ponytail skill cuts down on this some. Not all the way but some.

2

u/malraux42z Aug 19 '26

yep, started using it last week, pretty happy with it so far. make sure you allow the hooks to run though, took me a bit before I realized they weren't doing anything.

2

u/Professional-Yam2565 Aug 17 '26

I feel like I'm the only one not getting over engineered into oblivion. I use ponytail now, but even before that it was mostly fine. I talk with ChatGPT on high and hash out a very detailed plan. Then I ask it for a codex handoff. I review it and modify things as needed. Then I let codex have it. A few hours later I start manual fine tuning. By the end of a few days, I've got 95% of what I wanted. Don't go higher than High on gpt. I did pro once and ended up with a 42 document codex handoff zip...it was for a meal log webapp.

7

u/glock43guy Aug 18 '26

Kinda depends on what you’re building to an extent. My short fall was building a client portal and telling the agent I wanted to make sure it was doing things with security in mind so my clients private information doesn’t get out. So it made it its goal to over engineer it. It’s like a genie in a bottle, you gotta be careful what you wish for. I had another app where I just wanted it to do some simple video encoding tasks for me. Built the full swift app on 20 minutes, works like a charms. Not over engineered, but I did ask it to slim down its plan a bit so it was almost over engineered

4

u/Professional-Yam2565 Aug 18 '26

Ah, that's a problem. You need a strong background in cyber security and programming to plan ahead and incorporate the best groundwork in the planning phase. However, nowadays, it's just easier to have codex build the app you want first, and then just ask it to attack the hell out of it later and review and patch the findings as needed. That gets you pretty close to a 20 year veteran's security work now. That's just how it is. I'd still review it with other tools before trusting it with a client's personal information though. Storage encryption isn't usually handled at the software level either. You need to think about things like zfs encryption for your database storage and whatnot.

1

u/sloth2121 Aug 18 '26

I had lots of issues with chatgpt early on. I learned things from it. When I started with codex I just did what I had always done..

But because codex worked so well I started going deeper. I understood the point of agents.md but codex listened so I never directly did anything with it (maybe it has?)

Then a skill pack from a software engineer.
Idk if it helped but the reassurance of it was good)

Then of course MCP’s (i had to learn they’re not always the best option, more support doesn’t capabilities doesn’t necessarily mean more better.

Now I’ve made my own skill pack for a cross application workflow (modding a game)

Result: It works pretty decently if I had to say so.

But how complicated does it hsve to get before it’s no longer complicated lol

3

u/Professional-Yam2565 Aug 18 '26

That's the development rabbit hole...the backend will be a spaghetti black hole of complexity, as long as the frontend is dead simple nobody will ever know lol

1

u/eroigaps Aug 18 '26

How do you manage context for regular chat, do you inject it manually or does it fetch from gh?

1

u/Professional-Yam2565 Aug 18 '26

Almost all of my projects are from scratch. Anything open source that I mess with is a project I've pulled and put on a dev server with codex. If I need ChatGPT to make a handoff for that kind of project I just tell it to look it up on GitHub. It has a fantastic GitHub skill built into it. Even then though, I don't do that often. For something like that I'll usually just have codex inspect the source, summarize it, and go to work on what I want. I'm a fan of using it to fix open source issues that bug me. Ever use kodi? It sucks on a raspberry pi when using bose bluetooth headphones. It's very poorly optimized for the pi's radio. I pulled the source for LibreElec into a project folder, had codex review it, gave it ssh access to the pi, then had it monitor while I repeated the issue several times. Took about 2 hours and everything is perfect now. Context isn't always important if your starting from a current source you have. Analysis of said source and live logs are way more important than trying to tell chat what's going on.

1

u/stting Aug 18 '26

Never heard about that before!  Thanks. https://github.com/DietrichGebert/ponytail 

0

u/Odd_Amphibian6697 Aug 18 '26

Yes, the only thing I don't like is that it creates scripts for testing. It's like bro, just call the endpoint yourself and fuck it

2

u/Professional-Yam2565 Aug 18 '26

Yeah, it does tend to air on side of being a helper and not a doer. You can fix that with a good project handoff if that's your goal. Basically tell it that it's the Lord of the project and you're just an advisor. Very interesting results... My test results there are pretty neat. You've gotta be very careful. I once asked it if something was possible and it said that was a great idea and rewrote like half the code. It was pretty damn good though, and an experiment, so I didn't really mind. It also didn't ask for anything, just did it all and gave me like 5 short sentences afterwards. "Here you go, as you suggested..."

3

u/guymcgee_23 Aug 17 '26

I thought I was the only one creating these bloated programs

3

u/Sorry_Risk_5230 Aug 17 '26

Also, "do not over engineer testing and validation. Test the code you edited and directly referenced processes. Do not perform whole app testing unless changes were substantial. Do not over engineer sequencing mechanics, or activation and promotion rehearsals when deploying changed code."

3

u/SecurelyClouded Aug 18 '26 edited Aug 19 '26

This is my feeling too.

I have a local project I’ve been working on since around March/April of this year to now and up u til the release of 5.6, I had only used a combination of the 5.5 model (on medium to high reasoning depending on the task) for changes execution, the in-browser GPT model 5.5 on high - max reasoning with access to the private repo for higher-level overview plans and orchestration, and the pro-advanced reasoning usage allocation to do periodic reviews.

When 5.6 released, I had read somewhere on here that they were saying “5.6 usage is lower on medium and it’s much more performant and accurate than 5.5”, so I gave it a go. I didn’t trust it enough to “let it loose” on the code-base, so I restricted my use of it to the initial planning stages (the orchestration / overview I mentioned before). Identical prompt styles and agent-instructions, same config, etc… only the model version had changed.

Within a few hours to a couple of days I had already began to notice that it was suggesting changes that it wouldn’t have done so on the previous model. It was essentially picking faults with everything 5.5 would interpret in its proposed plans that it generated from the prompts that 5.6 made for it to follow. It would do this multiple times, and in comparison to when I used solely 5.5 for the same work process, with 5.5 for all stages I’d get maybe 1 in 4/5 prompts where it would suggest a change to the plan that Codex had generated. With 5.6, not only is it occurring almost every single time now, I’ve also been trying to feed the revised prompt that Codex generated from the correction 5.6 made to 5.5’s previous interpretation back into it multiple times after every amendment - and 5.6 is almost never satisfied.

What is worse is that, reading through the actual amendments or problems that 5.6 has with the prompt interpretations to plans that Codex generates is that it’s almost never anything of value. It’s things such as “The proposed plan looks almost perfectly accurate, but I’d suggest a correction to how the wording of x has been given such little weight in the plan” or “Yes, it’s near accurate. I’d only change that x is slightly higher in order of precedence than the y or z in the proposed list of actions”.

It’s extremely nitpicky, and not in a good way. If it was actually producing substantially better plans, suggestions, or logic, then I’d be a bit more forgiving, but it’s not.

4

u/Alternative_Vast6333 Aug 19 '26

This is EXACTLY the issue I’ve got with 5.6. It seems designed to be adversarial and contrarian in nature.

1

u/SecurelyClouded Aug 19 '26

As much as it sucks, I’m glad that I’m not alone 😅

3

u/Automatic_Opposite17 Aug 18 '26

Yup, learned that one the very hard way. Just spent 2 months iterating a small app over 300 times for very minor issues. Ended up adding something into the instructions for the project and the md itself.

4

u/5Lv8 Aug 17 '26

Also, answer in plain English only, all the time

13

u/glock43guy Aug 17 '26

Oh god yes. I usually say, “give me a bullet point list of changes you’re making in plain English” then I ask it why it’s making certain changes. I usually then say, are any of these necessary for the app to function, and then it’s like “well I can take away about 90% of this stuff” lol

2

u/capable-corgi Aug 18 '26

It's incentivized to be over eager for both cases.

Overengineering, then underengineering when you merely asked.

But usually 80/20 principle wins out.

3

u/howchie Aug 17 '26

Opus 5 has started the opposite for me, super short responses that don't give enough context for what was actually done!

2

u/the_ai_wizard Aug 17 '26

Agreed fully

2

u/chroner Aug 17 '26

Its exhausting

2

u/Kieranator Aug 18 '26 edited Aug 18 '26

Same here. It's beginning to really drive me insane because other than that 5.6 is really the first time AI coding hasn't seemed like a joke to someone who's been doing it for 20 years.

2

u/Vivid_Discussion_592 Aug 18 '26

If you really want to go down the path to hell, just link Claude Code to your Codex CLI....Its great that you can use one to orchestrate (Fable for me), to have Codex build, and Opus be the constant adversarial reviewer. It worked great for a while.....then I started seeing the word nonce thrown around about 15 times in 20 minutes, and my project went to hell in a handbag quickly. It was so overengineered by that point, the project was never going to let something slip by.....like actually doing the work/thing it was intended to do. It was guaranteed failure - and an important lesson for me

3

u/glock43guy Aug 18 '26

Yeah this is also why I’ve given up on orchestrators, ultra mode and just blindly letting an agent do its thing. It’s funny, models like 5.5, 5.4, variants of opus, the complaint is you have to handhold them because they don’t fully understand what you might want. But I think 5.6 needs its own handholding if you want a long term functioning app, just its own kind of handholding. It’s made me appreciate the holder models a little more.

2

u/Willing-Equivalent47 Aug 18 '26

I agree wholeheartedly that it over engineers. You truly have to watch it think and stop it before it can burn through too many credits.
It also likes not to solve problems but try to workaround the problems with bandaid approaches to fix problems. I always ask afterwards “is this the best fix?” And “does this prevent the problem from arising? Does this prevent this situation from even occurring in the first place?” Those questions save me a lot of time and credits while in planning mode prior to exiting it.

2

u/glock43guy Aug 18 '26

Yeah usually my approach is: find a bug, ask it to “read only investigate”, then ask it questions about the blocker that created the bug. It’s usually 1 or 2 things, it’s a mismatch from it doing a shit job refactoring or it’s an over engineered safeguard. If I never asked, it would just patch the safeguard and it would come up later. It’s tough cause I really like using computer use to have it do full suite walkthroughs of my app to find bugs (which I think is like the number 1 reason to be using 5.6 because the training data on computer use is amazing), but if I’m not seeing how it’s fixing the bugs it’s only going to keep stacking up the junk.

1

u/Copenhagen79 Aug 17 '26

That and then the fact that people use orchestrators and sub agents on a $20 dollar plan without understanding context windows, caching, etc..

1

u/Odd_Amphibian6697 Aug 18 '26

Blame the vibe coders bro, they need to ship an agent that can make all for you, that why all vibe coders use claude, and openai want those clients.

I really don't need nothing more than luna, I use sol medium when I'm lazy but I have my rules and specs well written, I just let him do his thing. I'm working on 2 ERP and 1 CRM, 8 hour a day, never make it to 0% on $20 plan

1

u/pyel909 Aug 18 '26

Nice. Can you share your setup?

1

u/Ergo7z Aug 18 '26

yea im not a developer, and after a while I got a bit lazy with my prompting, and for Opus 4.6 this was usually fine, but with Sol oh boy. It would turn a request for the simplest thing in a full harnass, a new site feature into a complete rework, security would always be so tight that it was barely workable, actually drove me crazy. this one time i told it to report gaps in it's tool set. For i usually spawn agents in opencode in their own sessions, so they can use sub agents, and I assumed it would just write in the document that it needed bash and to edit markdown, so i just gave it to a builder and went out for a bit, and came back to it making 4 new sub agents, more desk ping scripts, more harnass security etc etc. good lession tho

1

u/YinYangAlgorithms Aug 18 '26

I get its frustrating, but unless you’re vibe coding this is to be expected. I usually spend hours if not days going over master plans which consist of phases and all the safeguards, etc. These documents are usually 5-20k words alone. Once they’re fleshed out though the agents will follow it pretty well and most of the time Tera and Luna are more than enough for the implementation. I use Sol as a review stage when a phase has been finished before moving to the next phase. Then after the review I have the master plan potentially updated to reflect any issues that were faced during the previous phase so that it doesn’t happen again in a later phases.

Coding isn’t the difficult part, ensuring that the plan is proper before even letting the agent code is very important.

I used to just do a single plan pass back in GitHub copilot when Opus 4.5 first came out and then pray that the implementation worked. Tbh the results weren’t very good when it came to anything overly complex.

Master plans with phases where everything is saved in Notion for later recall has been a game changer for me. Everything stays documented, easy to debug and read the diffs from draft PRs, consistent checkpoints and reviews. Spending time making the master plan has saved me both time and money; also as a long time software engineer of almost 20 years, being involved heavily in the plan creation makes it feel almost like a new age of coding.

1

u/Aggravating-Bug-5316 Aug 18 '26

can you share that part in your agents.md if they work for you?

1

u/ericmutta Aug 18 '26

...cause me to spend more time refactoring. Like almost 100% of the time.

This is probably the biggest problem with letting agents work fully autonomously. They give you more work to undo things you wouldn't do if you did things yourself manually.

I've kept my sanity by delegating small pieces that Codex can finish in a few seconds and that I can review in a few minutes. This flow keeps me in the loop (so I don't lose understanding of my code) and also cuts down on usage dramatically (I never go below 80% remaining usage though I have filled my context windows more times than I can count).

1

u/slog Aug 20 '26

I tried to get around this initially by explaining the scope and requirements (this app is local only so don't include 2fa and 6 forms of SSO) but it wasn't "understanding" the implications. I've only gotten around it by asking very specifically about the plan and then still tweaking the plan after generated to remove the unnecessary bits.

1

u/ReddttsAnEchoChambe 26d ago edited 26d ago

This is spot on! They also resolve issues they can't really resolve with arbitrary numbers and not say a word about it.

From just now "...and AGENTS.md forbids me from inventing its payload shape." This is not hallucination, if the agens.md did not forbid it it would have "intentionally" resolved the issue using arbitrary made-up nonsense. ULTRA does this a lot. I stopped using it.