Skip to main content

Why Parallelize?

Sequential execution wastes time when tasks are independent:

When to Parallelize

Good Candidates

  • Independent research tasks
  • Multiple file analyses
  • Different codebase sections
  • Separate feature implementations
  • Parallel test suites

Poor Candidates

  • Tasks with dependencies
  • Shared resource modifications
  • Sequential workflows
  • Tasks requiring prior results

Parallelization Patterns

Use separate worktrees to avoid branch conflicts:

2. Task Tool Parallelization

Spawn multiple agents in a single message:

3. Domain Separation

Assign agents to non-overlapping domains:
Orchestrator delegates to:

Auth Agent

src/auth/

API Agent

src/api/

UI Agent

src/ui/

4. Map-Reduce

Parallel processing with aggregation:
1

Input

Files: [file1, file2, file3, file4]
2

Map (parallel)

Haiku processes [f1, f2] | Haiku processes [f3, f4]
3

Reduce

Sonnet synthesizes all results into final output

Implementation

Worktree Script

Squad Parallel Execution

Claude Code Parallel Tasks

Coordination Strategies

Shared Context File

Lock Files for Shared Resources

Dependency Declaration

Resource Management

Limit Concurrent Agents

Token Budget Distribution

Monitoring Parallel Execution

Status Dashboard

Aggregate Logs

Best Practices

  • Use git worktrees for code-modifying agents
  • Limit parallelism to available resources
  • Declare dependencies explicitly
  • Monitor all parallel processes
  • Use locks for shared resources
  • Aggregate results after completion
Common issues:
  • Branch conflicts (solve with worktrees)
  • Resource contention (use locks)
  • Orphaned processes (track PIDs)
  • Memory exhaustion (limit concurrency)
  • Inconsistent state (use transactions)

Multi-LLM Usage

Assign different models to parallel tasks

Token Economics

Budget tokens across parallel agents