Why Parallelize?
Sequential execution wastes time when tasks are independent:| Approach | Execution | Time |
|---|---|---|
| Sequential | Task1 → Task2 → Task3 → Task4 | 4 hours |
| Parallel | Task1 + Task2 + Task3 + Task4 (concurrent) | 1 hour |
When to Parallelize
Good Candidates
- Independent research tasks
- Multiple file analyses
- Different codebase sections
- Separate feature implementations
- Parallel test suites
Poor Candidates
Parallelization Patterns
1. Git Worktrees (Recommended)
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/Domain Separation Pattern
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