Claude Code sends 33k tokens before reading your prompt, OpenCode sends 7k
A controlled test ran Claude Code and OpenCode on the same model and same tasks. Result: when you ask both for a one-line response, Claude Code sends roughly 33,000 tokens of system prompt, tool schemas, and scaffolding before your prompt reaches the model. OpenCode sends roughly 7,000. With Claude Fable 5 the gap narrows (around 3.3x), because Claude Code sends a shorter system prompt to newer models, but remains substantially heavier.
Why this matters to you. Every overhead token is cost, latency, and context space lost to useful work. If you run agents in production, or if the “prompt cache” line on your dashboard keeps growing and you don’t know why, this analysis shows where the tokens go. Claude Code rewrites tens of thousands of cache tokens on every turn, while OpenCode maintains a stable prefix that you pay for once per session. On a small task run across two subagents, cost jumped from 121,000 to 513,000 tokens, because each subagent rebuys its own bootstrap cost and the parent then consumes the full transcript.
A continuity note. As we reported on July 12, Claude Code just gained an integrated browser; this analysis shows the hidden cost of that extra power. The test does not measure the quality of the final result, only how much infrastructure you carry along with every request.
In detail
The method
Measurement was done by intercepting every request between the harness and the API: a logging proxy captures the full JSON payload (system blocks, tool schemas, messages) and the usage block returned by the API (input tokens, cache write, cache read, output). Tests on Claude Sonnet 4.5, then repeated on Claude Fable 5 to verify whether the model changes the picture.
Isolation conditions: empty config, no MCP servers, no instruction file (AGENTS.md), empty workspace, permissions bypassed. Three tasks: T1 (“Reply exactly: OK”), T2 (read a file and summarize it), T3 (write-execute-test-fix loop on FizzBuzz). One variant without tools to separate system prompt weight from schema weight.
The numbers on the table
On the minimal task (T1), Claude Code starts from 33,000 tokens before reading the user’s prompt. OpenCode from 7,000. With Fable 5 Claude Code drops to around 10,000-11,000 (Anthropic shortened the system prompt for newer models), but the gap stays 3.3x. The lighter system always remains OpenCode, regardless of model.
The multipliers
This is the baseline at empty configuration. In a production repository, each component adds its own weight:
- Instruction file (AGENTS.md or CLAUDE.md): a 72KB file adds roughly 20,000 tokens per request.
- MCP servers: five modest servers (calendar, email, filesystem, search, database) add 5,000-7,000 tokens of schemas.
- Subagent: a task that costs 121,000 tokens done directly costs 513,000 tokens when split across two subagents, because each subagent has its own overhead and the parent then consumes the full transcript.
With a real configuration, the counter starts from 75,000-85,000 tokens before the user has typed a word.
The cache: where the game is won
OpenCode maintains an identical request prefix byte-for-byte on every run of the same session: you pay the cache write once, then read it for pennies. Claude Code instead rewrites tens of thousands of cache tokens mid-session, run after run. On one of the test tasks, Claude Code wrote 54 times more cache tokens than OpenCode. Cache writes are charged at a premium, and they explain why your dashboard grows even when you think you’re reusing context.
A note in Claude Code’s favor
On a multi-step task, Claude Code came in with a lower total than OpenCode, because it batches tool calls into fewer requests, while OpenCode rebuffs its own (smaller) baseline on every turn. The meter starts higher, but how the session unfolds determines who spends more at the end.
What’s missing
This test does not measure quality of the final result: it measures only the cost of infrastructure. A heavier harness can produce better results, faster, or with less need for correction. The right question is: for my use case, is that extra power worth the token premium?
The complete source (Systima) publishes raw data and measurement method, allowing anyone to reproduce the test on their own configuration. It’s the kind of transparency you need when you have to justify a growing cost line in production.