Similarly to “one language is best,” saying “one harness is best” is shortsighted in the best possible case.
That being said, Claude Code is bloatware.
You are arguing against something that was not said?
And I don't really get the point of this feature, I've always found it super annoying that the main agent creates a subagent with the clear description of "Fix tile cache" for example, and then after a while it turns into something generic like "Running browser tests"
I'm on pro. Two days ago, 100% 5 hour was using 25% of my weekly. Today, 100% 5 hour is like 13% so something was fixed.
I am definitely getting frustrated with a lot of the changes they keep making in Claude Code. It's one thing to find settings have changed during your next interactive session, it's another when it changes how overnight unattended sessions behave. I really should be spending more time building my own harness again.
Cache rules everything around me.
That eventually grew into what is now my 'software factory' and I've realized, eventually, it's still C.R.E.A.M. (I named it flower) but it's _context_ rules everything around me.
$100 on DeepSeek has lasted over a week, whereas on OpenRouter it lasted two days
Also, the claim "15-20% of your tokens" seems unclear; of all tokens, or of tokens spent on background agents? Poorly edited AI writing strikes again!
Moreover it is mostly cached reads, so subagents with short context cost little, while long-context ones cost much more.
In my Claude Code sessions, it looks more like ~8% at most.
Your 16.4% sounds like it was for a team running mostly background agents, and doesn't seem like a typical session. (Feel free to send me the session ID at edwinarbus@anthropic.com and we can dig further.)
Last week, across Claude Code users who send us telemetry, agent_summary was about 2% of cost at API list prices and just under 4% of requests. In the terminal, where nearly all of these calls happen, it was about 6% of cost.
That said, we agree that's a lot for a status line. We just rolled out a fix for the most expensive case, summaries that miss the prompt cache (2.1.311+), and right now we're working on a much cheaper mode that sends short notes to a smaller model instead of the full transcript.
I also wonder if the fix that they "just rolled out" is actually activating the 'short' mode that TFA mentions...
[0] <https://code.claude.com/docs/en/statusline#how-status-lines-...>
After all, for most of the work people seem to be doing daily, Claude kinda isn't.. necessary? In fact, for a lot of tasks, not using it leads to better results in my experience.
There are things that only it can reasonably accomplish, but if every interaction with it hurts you in various ways (like this one), then, eventually, I do not see that working out for them anymore.
But perhaps this is just a way to push the numbers a bit further up for the IPO? That would make a lot of sense to me.
¯\_(ツ)_/¯ it’s not efficient but yeah it’s the best
Time to start questioning the motivations of model providers shipping their own harnesses.
https://www.reddit.com/r/ClaudeCode/comments/1xhqvzn/opus_55...
You can remove it with a simple plugin https://github.com/AlexErrant/claude-code-no-email/blob/main...
1. It was said to be required (e.g. Searching through SEC)
2. Politeness policy (Wikimedia's bot policy and Crossref's "polite pool" ask automated clients for contact details)
So I think it wasn't because of malicious reasons as far as I can tell.
I did instruct Claude to never do it again except for the politeness policy. I'm assuming WikiMedia requested this so that they have someone to contact in case a bot overloads their servers
It's the same addiction script again and again.
I was handed 150$/mo budget and no subs, and while it was frustrating at first, with better tooling, context management and especially OAI models it's a breeze now and not even using 70% mostly while achieving a lot in a small team.
Having limited resources teaches you a lot.
Absolutely.
It's great that the project/team you were in had skills/cycles to do it.
In many cases this is pure yak shaving so to speak. Consider an embedded project where there are tons of tedious things to be tied together; Also, the project velocity is more important than saving another 1k per year. The decision not to switch is the smart choice in many cases.
Sorry, bad day...
There’s something reassuring about seeing the true hacker spirit still at work here.
I approve.
https://gist.github.com/flamerix-ai/c3905705cc4205e5de3011fa...
I hope Anthropic's next model is capable of better writing.
I find the way it adds this unnecessary "own" very grating in explanations.
For example: "Two benchmarks, each with its own score".
Of course the author could also just write at least the summary himself.
It can be slimmed down pretty aggressively: turn off a few features (claude.ai connector sync, artifacts), work with Claude to disable / defer as many skills and tools you don't need (e.g. SendFeedback), use `--system-prompt ""`. Would be better to just skip all that to begin with but that's the cost of a subsidized fixed price plan.
I'm on the 20x Max plan and my quota is at 98% (resets today), so I had a quite heavy week of usage, including a bunch of orchestrated subagent runs (no workflows).
API equivalent spending for this week: $1,970
Hidden status-label calls: ~$380
Share of the true total: 16%
That's incredible...
For example last week I put $1400 thru my Anthropic enterprise $200 plan. That's $5600 per month, or 28X the $200 my company pays (according to `npx ccusage`)
It's actually not super difficult to "decompile" it, tweak some stuff, and recompile. I use this method to change some ridiculous hardcoded instructions in the system prompt.
The model maker has zero incentive to prioritize efficient token use.
One can reason that it is useful, e. g. saves the time of people (see how Claude is now the number #1 committer in Ruby) but ultimately all that data is used by private companies, making them richer in the process. So, first you pay for the tokens; and then others benefit from it without giving you any money. It is a brilliant scheme since it works so well. People are sold to their AI overlords now.
Otherwise, it’s just obfuscated spyware that inserts ads into Git commits by default, and has been shown to consume far more tokens than other harnesses for the same tasks and models.
I really see no valid reason to use it. I tried a recent version to see whether things had changed since last year, and it’s just even more bloated.
Maybe. But the 16.4% is from Claude Code's own cost_usd estimate, so cheap per token still adds up when it's 1 in 5 requests.
The notable discovery here isn't that the AI agent has access to its own transcript, it's that 20% extra tokens are used to generate the status line. Leave it to LLM writing to focus on something inconsequential though.
Share your number folks!
If it happens 10 times you have already accepted the same cost as the entire session fresh prefill.
People on HN are either too rich or wayyy too rich
But if you are telling me I am wasting like a good 10-20% of my tokens on summaries I might as well stop using your service, worst part is claude doesn't let you use something else.
Looks like what I remembered was a bug.
Do you disagree with the numbers and conclusion in the -pretty obviously bot-generated- Fine Article?
If they were doing that, then a cheaper (prompt-cache friendly) option is just to silently send the whole conversation with the summariser prompt appended
Read your memory.md to see what Claude thinks is very important.
I'm mostly working on moderately sized rust codebases (600k~ lines) with reasonably long running tasks. The only time I intentionally do a handoff is if the next goal is in an entirely different section of the code, or I let the session cache expire, or I'm working with 6.1 Sol for more than a few hours, which admittedly has some horrendous context drift compared to Opus.
Maybe things are better now. It's been a while since I've compacted a conversation.
They’ve got that IPO coming up so they’re turning up the fraud in preparation.
Regardless of whether it is 10 or 15% it is still way more usage than Codex… Although Codex randomly resets every few days so its usage it’s highly variable
Are you aware of any updates on the SDK using more session usage vs claude code (https://github.com/anthropics/claude-code/issues/97074)?
Also why you're so dismissive with the 2/4% figure while completely ignoring the TFA analysis and the other examples in their linked github issue?
Seriously, you're adding a feature that silently burns 15-25% tokens (that is burning money for API clients while hiding that fact), take away everything that could be used to mitigate it, and your response is basically, "eh, your numbers are unimportant and ours say it's negligible but since you complain we'll make it a bit cheaper".
Seriously, that looks so intentionally customer-hostile and revenue-friendly, but reading the room no one is surprised.
I happen to find I'm receiving exceptional value from provider X, so I don't switch.
API customers can swap to alternate providers even more easily than subscription customers.
It's just really bad to do something with a lot of waste that someone else can do with less waste.
I run three 20x max accounts to 100% every week. I could easily use more if I could afford it.
And obviously they wouldn’t IPO if they didn’t need to raise cash, but have you read the S1?
I don’t know if there’s any openly available statistics on how API costs divide between Claude Code, Claude SDK, raw API, and via OpenRouter.
You could decide where most work.
Maybe we'd have local models ...
The question is: if the internet was destroyed, would AI labs give us local AI?
Hahaha good one. Profit is the whole reason of existence for for-profit companies. Sure, companies might start with some ideologic grain of thought. But as soon as you reach a certain size, all that goes flying out of the window.
I don't understand this "analysis". Why would it not be about profit?
"Features for internal users" makes no sense here, as it does not apply to the case. "Useful features" is also debatable - LLMs providing user data upstream to Anthropic is a use case for Anthropic, but less so for downstream users and token burners.
I’m much more inclined to believe they just don’t _care_ about cost, and profit is an ancillary benefit to their functionality above all else.
Just recently they released auto idle-compaction for large sessions about to miss the cache window. If they were so profit driven I can’t imagine they’d have built this to begin with, that’s free tokens from your perspective.
Do you really think this is so interesting, or something that people who work jobs have a responsibility to do?
What is the best drop-in OSS replacement that has support for skills and mcps?
I think omp.sh (oh-my-pi) is the best by a comfortable margin and its completely batteries included. It will pick up and use your Claude Code skills and plugins by default.
If you like to customize your tools Pi is the best, it has a huge plugin ecosystem (all can be used in OMP as well, but it has opinionated answers for most things already). Stay away from OpenCode, its a pile of slop like Claude Code.
Claude Code is a shitty harness.
I’m sure there’s some galaxy brain theory for why they’d want to keep costs high and reduce value rather than just having an efficient harness and reducing quotas by this 16%, which would be identical for users and save money.
But a far more likely explanation is: a dumb bug.
The code I own professionally has LOC in the 6 figures, and it's near impossible to hit weekly quota unless I'm running a bunch of experiments on the side or using Fable for everything
Probably a different story when the codebase is much larger
my main gripe at the moment is how they structure ultracode workflows which I tried again last week after a long hiatus. It created insanely complex milestones/lanes that moved super slow
btw, I always mix and match models/harnesses but since Opus 5.5 I'm finding fewer reasons to go with Codex/Grok/Kimi/others
I expect this will change again soon
If not... That sounds like primetime for prompt injection.
If I made it send something, I probably made it make a tool call. What other tools can I make it call?
I'm afraid this isn't a shrug - it's a zero-click vulnerability. It might be the start of a chain to RCE. It doesn't have to work every time, either. Just enough of the time.
There are better ways to do this, they just haven’t been built yet.
Eg this may not need actual contact info. Wikipedia just wants a way to ask you to stop. Anthropic could add an opaque agent/session identifier that Wikipedia could flag, and Anthropic just forwards that on to you in the UI.
If you don’t have free text fields it’s usually not super useful for spam. There are ways to get a binary “good/bad” signal back without that though.
I had this happen with requests to crates.io, because crates.io rejects all requests without a User-Agent (and it knows this inherently, it's not any prompt injection), so the model has to invent one, and often it invents one with your email address in it...
- I'd never blow this budget to be dependent on a single provider that 1. can change contract prices or limits on a whim, 2. lives in a sea of competition, new models coming up every week that may be better for a certain workload.
Here's the gist how it works:
The transcripts log the token count, so you can figure out what those tokens would cost in API prices. Each response returns the current 5h and weekly quota percentages, this is what is shown in the statusline. The returned quotas are not stored anywhere by default. So Opus wrote a small script that sits in the status line and records the percentages while I work. Dividing dollars spent by the percent used give what 1% of quota is worth.
On the 20x plan, 1% of weekly limit is worth about $20 in API prices. A full week is then about $2,000, or $8,000 a month. 1% of the 5h window is worth about $5.20.
All of this only works correctly if you use your sub on a single machine, within CC, as chat usage and other machines can not be tracked this way.
I'm on the 20x right now because I got offered 50% off as a returning customer (I cancelled a few months ago). So next billing period I'll switch to the 5x plan and measure its weekly and 5h limits the same way again.
Considering I use on average close to $3k a week at API prices on my 20x plan I don't think this quite accurate. Some weeks I've used >$3.5k
Also the Claude subreddits are complaining since last week about nerfed usage. But since it is reddit, nobody bothers to actually measure the true value.
I don’t think the CC’s teams have hidden motives to optimize for token inefficiency as the OP I replied to implies.
A reality where a secret cabal of CC engineers are trying to find the most token inefficient ways to build the best harness on the market sounds quite interesting to me, but not realistic.
That only counts if people wouldn't find some other way to spend tokens anyway. I regularly have to pace my usage to avoid hitting the weekly limit on the 20x plan; I have plenty of things I could automate.
Jeavon's Paradox means that until all possible uses are saturated, the cheaper frontier AI becomes, the more of it they can sell.
Older programs were MUCH more memory and compute conscious because memory and compute were actively limiting factors. Anthropic engineers probably don't feel the token efficiency requirements nearly as much as we do because they are working with the equivalent of a super beefy dev machine.
NikZaal•1d ago
Our DRIM system flagged the anomaly in CC's OTEL traces. Grouping requests by query_source showed that over one measured week agent_summary accounted for: 16.4% of total estimated spend (versus 15.7% for the main conversation), and 19.7% of all API requests with approximately 9,000 input tokens per output token.
Most requests reuse the prompt cache, but repeatedly reading a large cached transcript still has a cost. Longer contexts and more concurrent agents increase the overhead.
We couldn’t find a supported setting that disables only these summaries while preserving background agents and forks. Disabling those capabilities also stops the summaries, but changes the workflow we want to keep.
Our workaround is a small Bun preload that intercepts the summary timer without modifying the CC binary. It identifies the timer callback by source-text anchors and leaves other timers alone.
In controlled tests on Linux (from ver 2.1.257 to 2.1.312), the same workload produced five summary calls without the hook and zero with suppression enabled. On our current production setup, agent_summary calls remained at zero with the hook enabled. Background agents and forks continued running. The only visible change was that their generated status summaries stopped updating.
The workaround depends on implementation details. An update can break the callback matching and silently restore the requests. macOS and Windows are untested. If someone could help us with testing there, it would be much appreciated.
If you want to try it - the script, full technical explanation, test results, and installation instructions are on GitHub: https://gist.github.com/flamerix-ai/c3905705cc4205e5de3011fa...