Someone finally put a logging proxy between an agentic coding CLI and the model endpoint instead of trusting the usage meter. The result, published this week and sitting at 500+ points on Hacker News: Claude Code sends ~32,800 tokens before your prompt is read. OpenCode sends ~6,900.
Same task. Same "22 character" prompt. A 4.7x gap that has nothing to do with what you typed.
This isn't a vibes complaint about "Claude feels expensive lately." It's a wire capture β actual JSON payloads, actual usage blocks, measured against a hash-verified test suite where both harnesses got the right answer. If you're running agentic coding tools in a loop all day, this is your context budget, and someone is spending it before you get a turn.
The breakdown, from the Systima writeup: Claude Code, first request:
OpenCode, first request:
27 tools versus 10. That's the headline lever β every tool definition is a schema blob shipped on every single request, whether you use the tool or not. Strip tools entirely and the system prompt alone is still 3x bigger on Claude Code (26,891 chars vs 8,811).
Baseline overhead is at least predictable β pay it once, cache it, move on. The uglier finding is cache behavior under a real multi-step task:
| Cache writes (5 requests, same task) | |
|---|---|
| Claude Code | 53,839 tokens |
| OpenCode | 1,003 tokens |
53.7x more cache writes for identical work. OpenCode "emitted byte-identical prefixes across every request and every run." Claude Code showed three distinct request classes per session with system bytes shifting underneath it β meaning the cache breakpoint keeps moving, meaning you keep re-paying for a prefix that should've been free.
Anthropic's own pricing model depends on stable prefixes to make prompt caching worth anything. If the harness itself is the thing invalidating the cache, you're paying full input-token price for context you already sent.
Forget the cold-start number β that's a one-time tax. The real damage shows up on the ten-lane benchmark, five runs each, both harnesses passing every test:
Same correctness. 3.7x the token spend. That's not overhead you pay once at session start β that's overhead compounding every turn of a working session.
And it gets worse with agent fan-out. Spin up 2 subagents on Claude Code and cumulative tokens go 121K β 513K. A 4.2x multiplier stacked on top of the baseline 4.7x. If you're running subagent-heavy workflows, the two multipliers don't add β they compound.
The researchers were honest about the hole in their own methodology, and you should weigh it before treating this as gospel: "A single mid-task cache miss could in principle be our gateway evicting rather than the harness moving its cache breakpoints; reproduction across runs makes systematic harness behaviour the likelier explanation."
Translation: they think it's the harness, not their proxy, because it reproduced β but they only ran this on one machine, with small sample sizes (three Sonnet runs, two Fable runs, five quality lanes), one implementation per condition, and a July 2026 snapshot of both tools. Both harnesses ship fast. This ratio could shrink or widen by the time you read this.
CLAUDE.md
-equivalent added ~20,000 tokens per request on The tools that win the next two years of agentic coding won't just be the ones with the best model behind them. They'll be the ones that don't spend 33K tokens clearing their throat before they start working.
Source data: Systima's wire-level analysis, methodology via logging proxy between harness and model endpoint, cross-referenced against the Hacker News discussion (500+ points, 300+ comments as of publication).