I can only recommend to regularly measure how many tokens a harness+model combination uses for a certain task
There are huge token efficiency/bloat differences between agents while working on the same tasks, using the same model, in the same environment
Yesterday I ran 10 agentic tasks using GPT 5.6 Sol in an ubuntu 26.04 vm a couple of times with different harnesses and got vastly different token usage.
+-------------+-----------+-----------+-----------+-----------+--------+
| Harness | API total | Input | Cached | Uncached | Output |
+-------------+-----------+-----------+-----------+-----------+--------+
| smol | 172,807 | 142,334 | 8,704 | 133,630 | 30,473 |
| Pi | 427,211 | 392,767 | 137,216 | 255,551 | 34,444 |
| OpenCode | 1,564,429 | 1,523,957 | 1,204,736 | 319,221 | 40,472 |
| Codex | 3,005,744 | 2,953,154 | 2,649,344 | 303,810 | 52,590 |
| Hermes | 3,856,611 | 3,808,231 | 3,167,232 | 640,999 | 48,380 |
| Claude Code | 5,073,137 | 5,029,969 | 4,587,008 | 442,961 | 43,168 |
+-------------+-----------+-----------+-----------+-----------+--------+
https://x.com/__tosh/status/2083593799872237680I'm not surprised that Claude Code is not optimized for an OpenAI model but I was still quite shocked re how much of a difference the harness makes.
Disclaimer: I'm working on 'smol' which is a minimalist harness but it's really nothing special, just a minimal system prompt, no skills files, only tool is shell
Do not underestimate how much popular harnesses are spamming the context window. The context window is very important.
Elon will be paying his staff in tokens in the future. Grocery stores will have on-demand pricing shown in tokens, and prices will change from the time you pick up the product and you pay at the checkout. It’s Ok, Elon said money won’t exist soon anyway…
Some people don’t use AI and I don’t get it. My wife has never used AI and yesterday I saw her reading a book made out of paper.
I imagine she’s just weighed all the details and options in her mind and plans to french fry tokens from my plate instead of getting her own.
And I hate that. I mean, I love her. She’s definitely value-add. But those are my tokens, right? My brain doesn’t do books. I can’t sit on the beach and read. I must always be swimming somewhere meaningful. So I’ll be vibing the next great Canadian web app and she’ll just casually ask, “hey what do you want to do about dinner?” So now I’m asking Copilot to tell me what I want for dinner. And it’s just… c’mon lady get your own tokens.
It sounds like your wife might get left behind by you.
She’s definitely not Mars material.
She'll understand when she's clawing at the door to be let into the singularity.
I was an early and passionate adopter and paying customer of Cursor (since 2023!), but it’s probably been 6 months since I opened it.
These days I “write” code with claude code and codex, and read/review it on GitHub. If I need to read it locally, I use a plain text editor.
Can someone help me understand what value cursor offers in 2026?
It removes money from your pocket into theirs faster than Claude will take money out of your pocket and into theirs. I was a Windsurf then Cursor user and even provided product feedback to the Cursor team on various aspects of their product but the costs for using it killed the value.
Cursor has two benefits
1) It's still an IDE. Because of pricing I mostly use Codex, but I always have a VSCode/Cursor IDE open, thus have to juggle between the two. Working directly in the IDE is more comfortable. For full on vibecoding that might be worse, but when you want to do a deep review of the changes, an IDE is way better than reading a diff on github.
2) It supports every model. It's often very helpful to try different models when you don't like the result of the first.
Can't VS Code extensions solve your use case?
I tried the codex extension many months ago but I didn't like it. I use mostly the Codex App, or sometimes the Codex TUI inside the IDE terminal.
The Claude plugin for VSC is amazing and basically "solves programming" for me. It's the primary way that I write code now; I even stopped using Claude Code.
I have tried multiple times to switch from Cursor to VSCode + command line tools or VSCode plugin for Claude, but it just doesn't work as well as Cursor itself.
Especially if you are doing "remote" development through SSH. If you are doing stuff where you still have to write some parts of the code manually or you have to fix few things here and there that the AI outputs, you still need a real editor.
Recently they also seem to have made big changes that makes Cursor worse for editing code by hand. I'm not sure what they are trying to do, but it doesn't feel like vscode fork anymore. I'm starting to consider alternatives.
To answer your question though, to me your workflow seems cumbersome. Cursor is more integrated and more frictionless.
I don't think it offers any. I got tired of switching between Codex and Claude plus I wanted to start using glm and kimi so I switch to pi. Then I got tired of VSCode eating up battery and RAM so I moved to Neovim which has barely any efficiency downside anymore since most code is not written by hand and if you know how to use it well it was only maybe 10% less efficient than VSCode to begin with. I am not sure why a heavy desktop application would be better than nvim + pi in terminal which are both super extensible via vibecoding and very light on resources.
Huh, never thought about that 2nd point - I'm also transitioning to pi, but didn't think to change to neovim as well. I guess your logic holds for claude code users as well though.
Look at Cursor CLI: https://cursor.com/cli
The way they spin up multiple Composer 2.5 before sending it over to the model of your choice is nice.
Cursor Tab is nice when you're hand-editing stuff. Not sure it's worth $20 though. I'd totally buy and forget a $5 Cursor subscription just for Cursor Tab.
The $20 price point is just too competitive now and I'd rather use the Claude/Codex plugin over Cursor's agentic coding sidebar.
How do you diff ?
Unless by "text editor" you mean Neovim or Emacs ?
Sounds like on GitHub. That's how I do it too.
git diff
I'm also confused about Cursor. I use Zed. It seems like whatever Cursor has is pure commodity and yet it's worth billions?
You can use Cursor CLI, it's a terminal agent, just like Claude Code and Codex. I use it sometimes, I haven't opened the actual Cursor IDE in ages.
The potential benefit of Cursor CLI (vs CC and Codex) is that you can easily between all major models (by Anthropic, OpenAI, xAI, as well as Kimi K3 and GLM 5.2). I found it useful when reviewing work - e.g. I implement using Opus then review using Sol, etc. Models by different providers tend to have different perspective on things and they can find different issues with the code.
Zed lets you use Claude Code, Codex, OpenCode, etc. all through the same UI. Like you, I use that to cross validate using models from different providers and switch over to GLM 5.2 when I exceed my Claude Code limit.
Code and reasoning generated by Opus/Fable via Cursor seems to be quite better than Claude Code's for the same prompt.
Does that mean you’re paying api prices + cursor markup (?), or can you somehow piggyback on your Claude subscription? Fable via the API is really too expensive
Design mode: https://cursor.com/blog/design-mode
Cursor achieved fast adoption by making it simple to move from Visual Studio code.
Double-edged sword. It is also simple to move back to VS code and agent extensions.
This is basically what I did. In 2023 I moved from VS Code to Cursor. And in 2025 when Opus 4.7 (or was it 4.6?) did that big leap in December, I switched to Claude Code and VSCode for any edits. I come from Sublime Text so those shortcuts are hardwired in me (which was also the defaults in VSCode). When Cursor hijacked literally every CMD key combo, I got fed up and switched back to VSCode. Maybe I should just go back to Sublime Text now lol, since I really just need a blazing fast code reader.
(I work at Cursor)
You can still see what you’re billed on the Spending page. We did accidentally break dollar costs in the Usage CSV export yesterday while cleaning up an old feature flag. That was not intentional and the CSV export is fixed now.
That feature flag also showed a dollar usage graph to some self-serve users. The confusing part was included plan usage shown as $, which is not what you’re billed (on-demand usage is). Some people read it as actual spend, so we decided to remove that graph.
The circular cost indicator near the context usage indicator was also removed. It is so much easier to accidentally leave an expensive model enabled now and not realize it until you have blown through the included credits. And it is hard to imagine that that wasn’t the point of the change.
Do you really think that users on a subscription plan aren’t intelligent enough to know that you are showing dollars at API rates if they weren’t on a subscription plan? This is a terrible change.
Saw this at work yesterday. Absolute insanity to do something as user hostile as removing the cost of the service. There's no way to attempt to brand this as anything but negative for the user, and positive for the company.
Gotta justify a $60B purchase of an IDE and (at the time) a single, decent model.
I think most standard users are intelligent enough to know if they’re on a subscription plan, the dollar amounts shown are if they were paying at API rates. This change is ridiculous.
Cursor has been my corporate vendor for accessing non-anthropic models. Without cost insights and with no ability to proxy API requests its value drops dramatically. They fought hard for a renewal with legacy pricing mode then broke the deal soon thereafter. I’ll be extremely clear to leadership that Cursor usage should be minimized and not renewed. I frankly don’t trust them with IP either, and you shouldn’t either, especially if you’re demonstrably not in a big enterprise.
Cursor was a great introduction to agentic engineering but I've learned their Claude pricing is largely just batch purchases. Their real moat I think is Composer 2.5 because both their agentic and IDE experiences fall short of Codex and Claude Desktop in my opinion. I think their sales will tell you economically they make the most sense and I would probably agree, but cost isn't everything especially when the spread isn't that wide. At this moment, capability is really king.
These days I'm using Codex and Claude Desktop with Zen when I need to look at code. Codex's real time audio chat feature (not dictation) is also second to none when paired with their agentic flow.
Grok 4.5 is them as well now I guess since they're owned by spacex now. I'd consider grok 4.5 the sonnet and composer the haiku (both capable, fast models).
If users start questioning the ROI of your AI product just hide the “I” from them. Problem solved.
This month I've noticed that my Cursor model use has gone up faster with Composer 2.5 - I have bothered with Grok yet. Despite the advertised twice-the-usage on Cursor own models I'd say it's burning faster.
They just don't want you feel obligated to thank them SO MUCH for hidden better prices
I’ve been working on a project to solve this problem with Claude code, codex, etc by recording usage and translating to $ in realtime. Looks like I’ll have to add Cursor support now.
Small thing but makes a big difference
I am shocked, shocked, that a company that is part of SpaceXAI would become hostile to its existing paying users and partners. This has never happened before in history.
The ground-truth is the rudeness is load bearing at human machine interface.
The signal is the ceiling.
cursor is a scam. they pissed me with their UI changes & shady pricing, so i tried claude code recently for the first time and instantly regreted i havent tried earlier
Built an awesome 450k line app with composer 2.5 and grok 4.5. I love it
It's free? Oh it's priced in "tokens".
Kind of (barely) like how Facebook has "friends". Or how a Snickers bar costs $1.99 and not $2.
Abstracting meaning of "cost", reducing value of information. Maximizing profits. Enshittification.
Elon-ification begins...
Well ... don't use Cursor. It's really that simple.
Cursor you have a beautiful comeback story, you have a wonderful model with Composer 2.5, and a terrific behemoth with Grok 4.5 now. A top-tier dev ux with the Cursor agent app, why on earth are you squandering this opportunity and behaving this way?
You came back from the dead pretty much and now you're pissing it away for what exactly?
Do not spite your individual developer customers or you will perish yet again.
If they were smart, they'd rebrand Grok to Composer. Nobody wants to use the Nazi model.
Given that cursor has been bought by Musk, the nazi branding might be on purpose
please, you're dramatically overestimating who gives a shit about this.
“If there's a Nazi at the table and ten other people sitting there talking to him, you got a table with eleven Nazis.”
You’re telling me there are a lot of Nazis we’re going to have to deal with. No problem, we’ve done it before, we’ll do it again.
[dead]
[dead]
[flagged]
Hiding pricing is always a negative to the customer
[flagged]
Not a single one of these tools tell me how much I just spent when I issue a prompt and it finishes inference.
I sometimes feel it isn’t malicious but that they don’t know the number either.
LLM generated comments are banned on this site.
Is AWS listening?
> Do not underestimate how much popular harnesses are spamming the context window. The context window is very important.
Do we have any insight into whether it is actually spam and not useful info such as project or programming language specific context?
Claude Code injects a ton of tools into the system prompt, including their “memory system” that’s like 10k+ tokens. Depending on your task shape, this can easily double your task cost (e.g. a low context-using job that takes many turns, like a monitoring loop).
You should use --disallowed-tools to prune any tools not needed for the task. Note that this is also a perpetual game of whack-a-mole since they’re always adding new tools.
> Claude Code injects a ton of tools into the system prompt
It's so unfortunate they don't let you use the subscription with other harnesses anymore - since even if I used OpenCode they'd still get a bunch of useful data from the API calls, meanwhile I could stretch their tier limits way further.
Subsidized Anthropic subscriptions seem to work fine on the oh-my-pi harness, somehow.
It's so unfortunate people don't realize it's cheaper to write their own well working agent instead of insisting with general purpose bloated ones like Claude.
200$/month is a lot of money on Luna/DS4 flash, like really a lot and the results are much better than clowning on bloated CC.
It's absurd how you have more and more organizations encoding their processes on LLMs and "engineers" (charlatan coders) don't even bother optimizing the tool they use most.
> the results are much better than clowning on bloated CC.
I won't argue with the cost effectiveness, but the results are very much not better. Opus and Fable are in a different league than DS4 Flash. Even GPT Terra, which I really like overall, sometimes gets stuck in weird loops and starts to do stupid stuff once its context window fills up. Whereas I can more or less trust the big models to just Do The Thing™ on the first try.
With that said, you get way more value out of a GPT subscription than you do from Claude, partly because of the ability to use more efficient harnesses.
ty re --disallowed-tools
for coding agents 'shell' is often all you need (just make sure the environment has the necessary tools)
The system prompt part is surely cached across all users.
You still pay cache token costs on API calls. Cache cost/token are 90% lower, but you pay it every single turn.
I’m not sure if they let you skip the cache write cost on the first turn. That would imply cross-user caching infrastructure or special casing the default system prompt to give you a discount. Maybe? Away from the computer but you could try a “hello” in a fresh session and see what was billed.
For Anthropic models, yes. But OP was using Claude Code with GPT.
the system prompt still takes up useful space in the context window and steers the model into unnecessary actions and over-thinking patterns
What tools are you using to run the comparison? Or are you just running the prompts and checking them with something like ccusage?
I’m asking because I’ve been looking for agent harness comparison tools too. I’m interested in more than just the inputs and outputs—I also want the system prompts, traces, and tool calls. It’s useful to understand why Codex, for example, uses more tokens while Pi doesn’t.
Fewer tokens aren’t necessarily better if the agent skipped important checks. On the other hand, using more tokens could just mean it’s overthinking the process. Either way, seeing the full execution trace for the same task is really valuable.
I built an ad-hoc custom comparison framework to inspect system prompts, caching behaviour, tool call outputs, exact api requests and responses and so on
I agree fewer tokens is not necessarily better but a bit counter-intuitively often the harness using fewer tokens is not only done faster but has better results
(that said: of course check the results, look at the full traces, agree!)
Thanks! I ended up built my own too. Just thought there are other better options out there that I might've missed.
Running some local models and wondering what insanity was consuming 100k+ tokens to respond to "hello world" was rather eye-opening, yeah. Full of pointless fluff.
Anything else I can read about smol?
also, are you using a tool to collect those metrics? what is it?
smol is basically this 9 line python agent re-implemented in Go
https://news.ycombinator.com/item?id=49006862
I'll have more about it in the next hours/days, you can follow me on twitter in the meantime (https://x.com/__tosh)
So smol is your agent? Do you have a GitHub link?
Same task? How did the results compare?
the tasks were all simple agentic tasks
like creating a checksum of a file, merging csvs and so on, fixing a makefile pipeline
with known 'good' outcomes
all harnesses could reach the outcomes, only cost, time, number of tool uses and so on were different
(Claude Code failed once in 1 task but I think that was just an unfortunate outlier, the tasks aren't that difficult)