Work with parallel agents
Run multiple agents without mixing branches, files, or review responsibility.
Parallel agents work best when each agent has a clear boundary: its own branch, its own files, and one person accountable for reviewing what it produces.
The easiest way to get that boundary is a separate workspace per task- a local worktree, a cloud workspace, or both, depending on whether you need the work to keep running with your laptop closed. Each workspace gets its own checkout, so two agents never fight over the same working directory.
Good parallel tasks
- Fix independent bugs in separate workspaces.
- Compare two implementation approaches side by side.
- Add tests in one workspace while another implements the feature.
- Review one diff while a different workspace's agent continues follow-up work.
- Run migration prep across separate packages or services.
Risky parallel tasks
- Multiple agents editing the same files, even in different workspaces- you'll just move the merge conflict later.
- Broad refactors without a plan someone has actually read.
- Database migrations without explicit sequencing.
- Release or infrastructure work without a human approval step.
Parallel work inside one task
Not every parallel need calls for a separate workspace. If the work is a scoped sub-task of what one agent is already doing- inspect a subsystem, run a focused review pass, compare two snippets- a subagent spawned by the parent agent can handle it without splitting off a second checkout or branch. Reach for separate workspaces when the outputs are genuinely independent; reach for subagents when they're not.
Review is the integration point
Treat the branch or pull request as the unit of integration. Before merging, review the diff, check the test output, and confirm the workspace still maps to one clear outcome. Parallelism speeds up the work; it doesn't lower the bar for what gets merged.