What AI Coding Agents Actually Cost

A post titled "You only need the frontier model for one single edit" made the rounds recently. The pitch: run the expensive model until it lands its first code edit, then swap to something cheap. I don't use the tool it ships in, but the claim underneath was worth chasing, so I measured it against my own Claude Code sessions.

Reading is the bill

The core insight holds up. Agents spend almost nothing on edits and almost everything on reads. On my own transcripts, reading was roughly three-quarters of the weighted cost. A cheaper agent reads less. It doesn't type less.

Caching only holds within one context

The post assumes every read costs full price, every time; it doesn't. Re-reading a file already pulled into the same context, on the same model, is nearly free, because cache reads bill at roughly 10% of the base input price. What costs money is the first read in a new context.

A subagent doesn't share its parent's cache. Neither does a different model. Every boundary I cross (spinning up a subagent, swapping models, starting a fresh session) forces a full-price re-read of whatever that context needs. Planning on the big model and handing off to a cheap one feels frugal right up until the handoff lands in a fresh context: the cheap model re-reads everything the expensive one already paid to read once.

Boundaries I actually pay for

Finishing an edit on one model, in one context, is the only place I've seen caching pay off; switching models breaks it the same way spawning a subagent does. The first time I tried a mid-tier driver with Opus pulled in for the hard calls, I let the review call see the whole session's context by default. It re-read almost everything the driver already had, which cost more than just running the loop on Opus from the start. The fix took one line. Scope the review call to the one file or function actually in question, not the whole transcript.

Fanning work out to several agents has the same shape. Pointing four of them at the same big design doc means four full-price reads of that doc; a tight digest in each brief is cheaper, and each one still gets what it needs. I ask for a short conclusion back rather than a full report too, since the reply becomes input the moment it lands in my lap, except when the task is security- or correctness-critical, where I still read the source instead of trusting my own summary of it.

Every boundary I add now gets one line of justification first: real parallelism, a genuinely fresh review, or a driver that's actually cheaper for the step. Short of that, the boundary is just a second bill for the same read.