Chapter 04 · Section IV · 10 min read
Parallel work, and when not to use one
Subagents can be run in parallel, which is where a lot of the speed-up comes from. But every subagent costs context, money, and coordination overhead. Learning where the line is between "productively parallel" and "spawn-happy" is worth internalising.
Parallel subagents are one of the small superpowers of Claude Code. Three independent questions can be answered in the wall-clock time of one. Used well, this compresses hour-long research passes into minutes. Used badly, it multiplies context bloat and confuses the main session about what happened.
When parallel is right
The conditions for a good parallel spawn are boringly familiar to anyone who has thought about concurrency:
- Independent tasks. No output depends on any other’s result.
- Distinct questions. Each has its own briefing; they are not clones of the same query.
- The summaries fit together in your head. If you would find yourself unable to make sense of six reports at once, spawn fewer.
Concretely: “Look up how our three deploy targets — staging, production-eu, production-us — handle secrets rotation” is a great parallel spawn. Three subagents, three briefings, three answers, one comparison.
When parallel is wrong
- Sequential dependencies. If subagent B needs subagent A’s output, spawning them together just means B works with stale (or hallucinated) inputs. Do A, read the result, then spawn B.
- Duplicate briefings hoping for a “consensus”. Two subagents given the same prompt do not vote. They will most likely return two similar-but-not-identical answers, and you will have to reconcile them. Not worth it.
- Small tasks. A parallel spawn of three trivial lookups is often slower than doing them serially in the main session.
When any subagent is wrong
Sometimes the honest answer is: this does not want a subagent at all.
- Tasks you can do in the main session in one tool call. Delegation cost outweighs benefit.
- Tasks where the raw output is the point. If you want to see the actual grep results, not a summary of them, do it in the main session.
- Tasks where the main session has crucial context the briefing cannot easily convey. Rewriting the whole context into a briefing is more work than doing the task.
The overuse smell
You are probably overusing subagents if:
- Your main session ends up as a chain of “spawn agent, wait, read summary, spawn next agent” with no real thinking in between.
- Your summaries all say roughly the same thing because the briefings were all roughly the same.
- You cannot remember why you spawned the third one.
Slow down and do the next task inline. Not everything is a delegation.
Check your understanding
Quick check
—