
Why Claude Subagents Cost 4x More Tokens (And When They're Worth It)
Claude subagents cost far more than running the same task in one session because a subagent starts cold — it can't inherit the parent's cached prompt prefix, so it re-reads its context and pays full uncached price. In one metered run, work that used ~121K tokens direct hit ~513K with two subagents: a 4.2x multiplier. Fan out five agents over one repo and you've re-bought the same context five times. Here's exactly why, and the rules I use to decide when fan-out earns its cost.
The One Thing Nobody Tells You: Subagents Start Cold
The first time I split a big refactor into a fan-out of parallel agents, I expected the bill to go up a little for the convenience. It went up a lot. When I actually read the metering afterward, the reason was obvious in hindsight and almost never mentioned in the “spawn 10 agents!” tutorials.
A subagent does not inherit the parent session's cached context. It spins up a fresh window, reads the files it needs, runs its own tool calls, and pays the full uncached rate for all of it. Your main session had that repo context cached and was paying the discounted cache-read price on every turn. The subagent doesn't get that discount. It starts from zero.
The mental model:
Every subagent you spawn re-buys its context at the uncached rate. Fan out five agents over the same repository and you've purchased the overlapping context five separate times — not shared it once.
This is why the multiplier is so steep. In a widely repeated metered example, a task that ran on about 121,000 input tokens as a single agent reached roughly 513,000 with just two subagents — about a 4.2x jump. The broad rule of thumb people report lines up with that: subagent-heavy workflows add somewhere between 200% and 500% overheadcompared to the same job as one agent. The work didn't get harder. You just paid for the setup several times.
Where the Tokens Actually Go
It helps to name the buckets. When you fan out, the extra spend comes from four places, and only one of them is doing real work:
- Cold context re-loads — each agent reads the files, docs, and instructions it needs at the uncached rate, and overlapping files get bought once per agent.
- System-prompt and tool-schema overhead — every agent carries its own system prompt and tool definitions. Bloated MCP servers make this brutal, loading thousands of tokens per turn, per agent.
- Coordination — the parent has to brief each worker and then read and merge their outputs, which is its own round of tokens.
- The actual task — usually the smallest slice of the total, which is the whole frustration.
That second bucket is the one people forget. If you're running fat MCP servers, every agent pays the MCP tax on every turn — I dug into that specific line item in what MCP servers really cost in tokens. Multiply that per-turn tax across a fan-out and it stops being a rounding error.
When Subagents Are Actually Worth 4x
None of this means fan-out is bad. It means fan-out is a tool with a real price, and the price is only justified in specific situations. The deciding question I ask every time: does each agent need a different slice of context?
- Genuinely parallel + independent: reviewing ten unrelated files, running five research threads that don't touch each other, auditing separate modules. The isolation and the wall-clock speedup are worth the token premium.
- Context that won't fit in one window: when the combined material would blow past a single session, splitting it is the only way through — and each agent legitimately needs only its own slice.
- Adversarial or diverse perspectives: spawning several verifiers to independently check a claim, where you want the redundancy on purpose.
And when it's not worth it: sequential work where step two needs step one's result, or anything where every agent would load the same shared context. There, fan-out just means paying to re-read the same files N times. A single session keeps that context cached and reuses it — which is the whole point of prompt caching, and exactly the discount a cold subagent throws away.

Agent Teams vs. Subagent Fan-Out
There's a subtlety worth knowing once your workloads get big. A naive subagent orchestrator — one parent handing full context to each worker — is the expensive pattern I've been describing. An agent team, where workers share a task list and each loads only its own task plus the relevant prior outputs, scales better.
| Pattern | Rough token cost | Best for |
|---|---|---|
| Single session | 1x (baseline, cache reused) | Sequential or shared-context work |
| Subagent fan-out | ~3–5x (each re-buys context) | A few genuinely independent tasks |
| Agent team | ~3–4x, but cheaper at large scale | Big parallel jobs, many workers |
The counter-intuitive part: for a large parallel workload, a team can land three to five times cheaper than a subagent orchestrator, precisely because no single agent ever accumulates the full context. Each teammate carries only what its task needs. For a small job the coordination overhead isn't worth it and a single session wins outright. I broke down the orchestration side of this in my notes on multi-agent orchestration.
Four Moves That Keep Fan-Out From Wrecking the Bill
When I do fan out, these four keep the multiplier in check:
- Route workers to a cheaper model. Defaulting every worker to Opus is where the money goes; sending workers to Haiku tends to cut the subagent line item by around 30% with no real quality loss on mechanical work.
- Hand each agent the minimum context. Don't ship the whole repo to a worker that touches one file. Less cold context means less re-buying.
- Default to a single session and earn the fan-out. Start sequential; only split when a step is genuinely independent and the parallelism actually buys you something.
- Cap the whole run with a hard token budget. A fan-out that spawns more agents than you expected should hit a ceiling and abort, not quietly 10x the invoice.
That last one is non-negotiable for anything unattended — it's the same seatbelt I put on every autonomous loop in running AI agents on autopilot without torching your budget. And if you want the full model-side playbook — routing thresholds, caching, prompt compression — it's in how I cut my Claude API bill by 73%. Anthropic's own pricing docs spell out the cache-read discount you're forfeiting every time an agent starts cold.
The Short Version
- Subagents start cold — they don't inherit the parent's cached prefix, so they re-buy context at the uncached rate.
- Expect 3–5x the tokens of a single session; one metered example jumped from ~121K to ~513K with two subagents.
- Fan out only when each agent needs a different slice of context. Shared-context work belongs in one session.
- For big parallel jobs, an agent team beats a naive subagent orchestrator because no agent holds the full context.
- Control it: route workers to a cheaper model, hand each the minimum context, and cap the run with a hard budget.
Multi-Agent System Quietly Draining Your API Budget?
I build and audit production AI agents on Claude, the Anthropic API, n8n, and Supabase — with fan-out that's metered, routed, and budget-capped so it earns every token it spends. If your multi-agent setup costs more than it should, let's find where the tokens are going.
Related Posts
AI Agents
MCP vs CLI for AI Agents: The 4–32× Token Tax Nobody Warns You About
For most agent tasks a CLI is 4–32× cheaper than an MCP server — 1,365–8,750 tokens per task instead of 32,000–82,000 — because every connected MCP server injects all of its tool definitions into every turn, used or not. One Microsoft Intune test came out ~35× cheaper on the CLI (~4,150 vs ~145,000 tokens), and at 10k ops/month that's roughly $3.20 vs $55.20. The CLI was also more reliable in one 75-run benchmark (100% vs 72%, MCP's failures were mostly TCP timeouts on its persistent connection). Use a CLI when a mature one exists and you own the box; keep MCP for OAuth SaaS, multi-tenant per-user auth, governance/audit needs, and tools with no CLI. For high-volume fan-out, let the model write code that orchestrates the calls (programmatic tool calling / Code Mode) to cut tokens 98–99%. The best agents mix all three; measure tokens per completed task, not per call.
AI Agents
Claude Tool Use Best Practices for Reliable Agents
The biggest lever on whether a Claude agent calls the right tool isn't the model — it's how you write the tools. Four habits fix most "wrong tool" bugs: write each description like it's the only docs the model gets (say what it does AND when not to use it — overlap is the #1 cause of misfires), make the input schema strict with enums, required fields, and per-parameter descriptions (then validate in your handler anyway), return errors as tool results with is_error and a plain next-step message instead of a raw stack trace or empty string, and keep the tool count small — three or four to start, consolidate or hand the model code before listing fifty. Force tool_choice only when the action is singular; parallelize only genuinely independent calls. The model reads your name, description, and schema — not your code — so those definitions are a prompt you forgot you were writing.
AI Agents
Claude's Batch API: When It Actually Cuts Your Bill in Half
The Claude Batch API (Message Batches API) bills input AND output at 50% off for async work that finishes within 24 hours — most batches land in under an hour. On Sonnet 4.6 that's $3/$15 down to $1.50/$7.50; on Haiku 4.5, $1/$5 to $0.50/$2.50; on Opus 4.8, $5/$25 to $2.50/$12.50. The discount is unconditional and stacks with prompt caching, so a bulk job that reuses a big static prefix lands near 5% of the real-time input price. One batch holds up to 100,000 requests or 256 MB; results are retrievable for 29 days. Use it for evals, bulk classification, content generation, and document processing — never for anything a user is waiting on.