Skip to content
Harness Engineering2026-08-0617 min readRev. 2026-08-06

What Claude Code Actually Costs — and Which Dials Move It

Your lunch break has a token price. The model remembers nothing between turns, so every request re-sends the whole conversation — which means cost scales with context carried, not work requested. Here is the cost function, the dials that matter, and the ledger line worth keeping.

Key takeaways

  • The unit of cost is the request, and the request is the entire conversation. Cost scales with context carried, not work requested.
  • The actions that feel free are the expensive ones — switching model mid-session invalidates the cache and re-bills the whole history.
  • The cache dies of inactivity. Stepping away and resuming a large session costs a cold re-read.
  • Extended thinking bills at the output rate, which is the expensive class. Effort is a spend dial wearing a quality costume.
  • A subscription doesn't remove the meter. It changes the currency from dollars to time-until-reset.

Rod Rivera

Author

What Claude Code Actually Costs — and Which Dials Move It

Rod's note — read with a pencil; the margins are for you.

The sentence the pricing pages leave out

You ask one short question in a session you've had open since 9am. It gets billed like you asked it to re-read your entire morning, because that's exactly what happened.

The model remembers nothing between turns. So every request re-sends the entire conversation — the system prompt (the instructions loaded before your first message), your instruction file, every message, every tool result. And every tool call inside a turn is another request.

Which means a one-line question, asked in a session you have had open all day, is billed against the whole day.

That single fact reorganises everything else. Cost scales with the context you are carrying, not the work you are asking for — and every intuition you imported from human labour, where a small question costs a small amount, is wrong here.

Where these facts come from, and when they expire

Verified against Anthropic's documentation on 2026-08-05, with a rot register at the foot. Prices, plan names, model names and limits in this area change monthly. The mechanics below are durable; the numbers are not, and this page tells you which is which.

The dial nobody mentions: cache hygiene

A warm session is affordable only because almost all of its input arrives as cache reads rather than fresh tokens. A cache read bills at roughly a tenth of a normal input token, per Anthropic's prompt-caching documentation (code.claude.com/docs/en/prompt-caching, re-check date in the rot register below). In a worked example from that same documentation, a session costing well under a dollar moved nearly a million cached tokens against about a thousand fresh ones.

So the expensive actions are the ones that feel free.

Things that cost nothing to type and re-bill your entire history
  • Switching model mid-session. The cache is keyed per model. The next request re-reads everything at full input rates.
  • Changing effort level. Same — the cache is keyed per effort level too.
  • Turning on fast mode mid-conversation. The whole context gets re-billed at that mode's rates.
  • A flapping MCP server (MCP: the protocol that connects an external tool server to the agent), because its tool definitions sit in the cached prefix.
  • Denying a bare tool name mid-session.
  • Upgrading Claude Code and resuming a long session — which Anthropic's own model-config documentation (code.claude.com/docs/en/model-config) describes as potentially the most expensive request you will send.

The doctrine that follows: pick your model and effort at the top of a session, and treat a mid-task switch as a deliberate, priced decision rather than a shrug.

And watch cache creation. cache_creation_input_tokens is a field in the API's usage telemetry — the count of tokens written fresh into the cache on a given request, as opposed to read cheaply from it. If that number stays high turn after turn, something is churning your prefix. Anthropic's own engineering writing on prompt caching treats that as an incident to investigate, not a mood to tolerate.

The clock is a cost dial

The cache dies of inactivity. Roughly an hour on subscription plans; about five minutes on API keys — and five minutes for subscribers once they are on usage credits, and always for subagents.

So stepping away and coming back to a large session costs a cold re-read of the entire thing.

Nobody writes this down. Every operator discovers it as "why was that first message back so slow, and why did my usage jump?"

Your lunch break has a token price. Knowing that changes when you /clear before walking away.

Where you are sitting is part of the cache key

The cache is effectively scoped to machine and working directory. Git worktrees of the same repository miss each other's cache. Sequential sessions share a prefix only when the startup snapshot matches.

Which has a consequence for the parallelism everyone is excited about: multi-stream work multiplies cold starts, and agent teams multiply whole contexts — per the same costs documentation (code.claude.com/docs/en/costs), about seven times a standard session's tokens when teammates run in plan mode.

Parallelism is bought with tokens, and the purchase is superlinear in how heavy your context is.

Thinking bills as output

Extended thinking is charged at the output rate — the expensive class, several times the input rate — and it is on by default with budgets that can run to tens of thousands of tokens per request. You are charged for it even when it displays collapsed.

So effort is a spend dial wearing a quality costume.

The honest setting: effort down for scoped mechanical work, effort up when the failure mode is under-investigation. And the vendor flags maximum effort as prone to overthinking with diminishing returns — worth reaching for on a specific hard problem, not worth parking there.

A subscription is not unlimited. It is a different meter.

Two meters, two failure modes

Plan allowances are opaque — a rolling multi-hour window plus weekly windows, sizes unpublished, shared across every Claude surface, enforced with reset timers instead of invoices.

That is why third-party tools exist to guess your limits from your own history. The meter is hidden, so people built instruments to infer it.

The operator consequence is behavioural:

RegimeYou budget inThe failure mode
Subscriptionwindows and resetsbinge, then stall at the wall
APIdollarssmooth, until the long-session tax compounds unnoticed

Choosing a regime is choosing which failure mode you would rather manage. And past the allowance, usage credits bill at standard API rates and shorten your cache lifetime — the marginal token gets dearer twice over.

What smart people get wrong

The habit that makes all of this worth knowing

One ledger line per work product. Written when you read /usage, before you clear.

date | task | model + effort | tokens by class | wall minutes | API minutes | estimated $ | billing regime

Here's an illustrative one, the shape a real line takes once you've been keeping the habit for a week (the numbers are a representative example, not a specific session's actual receipt):

2026-08-12 | dedupe 400-row customer list | sonnet, effort=low | 82k cached / 3k fresh | 6 wall-min | 0.4 API-min | ~$0.06 | subscription

The line that would actually surprise you, and the reason this habit earns its keep: the same task run again after a /clear and a model switch, cold, comes in at 3,000 fresh input tokens instead of 82,000 cached — a small dollar difference on this one task, but the same pattern compounding across a week of switched-model sessions is where the "why did my usage jump" surprise actually comes from. That is it. And it is the point of the whole exercise.

Why this line matters more than any saving it produces

In a conventional firm the cost of a unit of work is buried in salaries, and only the finance function ever reconstructs it — with allocation keys and estimates.

In the harness, the meter is in the room. Every session emits an itemised bill. An operator who writes one line per work product has a real per-unit cost record that needs no allocation and no guessing.

That record is the raw material for pricing anything you sell. Cheaper sessions are a side-effect; the ledger is the asset.

The minimum worth keeping:

The per-session snapshot

Read /usage at task end and write the line. This is the work-product record and it takes fifteen seconds.

A daily roll-up

Whatever tool you like. This is the trend record, and trends are what tell you a habit changed before your invoice does.

A monthly reconciliation, on API

Estimates against the actual invoice. This is the honesty check, and it is how you find out your local figures have been drifting.

Telemetry on anything unattended

Scheduled and headless runs are where spend surprises live — they fire on idle sessions and re-send full context every time. Export the cost and token metrics per session or do not run them unattended.

Beyond those four, cost telemetry is a hobby rather than accounting.

Rot register

Verified 2026-08-05. This is the fastest-rotting material in the harness series — it is made of perishable numbers. The mechanics above are durable. Re-check every figure before relying on it.

ClaimRe-check at
Cache read multiplier and TTLs by plancode.claude.com/docs/en/prompt-caching
Model prices and the current laddercode.claude.com/docs/en/costs
Thinking / effort budgets and defaultscode.claude.com/docs/en/model-config
Agent team token multiplecode.claude.com/docs/en/costs
Plan allowances, windows, usage creditssupport.claude.com
What /usage computes and where it differs from billingcode.claude.com/docs/en/costs

Any page quoting AI tooling prices without a date is telling you what was true on a day it will not name.

The other invisible dial

Permissions: what the harness actually enforces, why a gate that opens 93% of the time is a doorbell, and the standing rules worth adopting before you delegate anything that matters.

Ready to put an agent to work?

Join the Prof Rod newsletter for one educational lesson a week, with worked examples attached. It is free to register for and separate from the Zero Employee community.