ailiteracynepal 🇳🇵
Text size

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

Which of these is a good candidate for spawning three subagents in parallel?