Appearance
Parallel Execution
Each ADW run is completely independent. Run as many simultaneously as you need.
Running Multiple Issues in Parallel
bash
# Three issues in parallel
cd adws
uv run adw_plan_build.py 10 &
uv run adw_plan_build.py 11 &
uv run adw_plan_build.py 12 &
waitEach run gets its own isolated workspace at agents/<adw-id>/. There are no shared locks, shared state files, or shared database connections between runs.
Why Parallel is Safe
The ADW ID system guarantees isolation:
agents/
├── a1b2c3d4/ # Issue #10 run — completely isolated
│ ├── adw_state.json
│ └── ...
├── e5f6g7h8/ # Issue #11 run — completely isolated
│ ├── adw_state.json
│ └── ...
└── i9j0k1l2/ # Issue #12 run — completely isolated
├── adw_state.json
└── ...Each run:
- Creates its own feature branch (
feat-10-a1b2c3d4-...,feat-11-e5f6g7h8-...) - Writes to its own workspace directory
- Posts to its own issue thread on GitHub
- Opens its own PR
Git Branch Safety
Parallel runs each create separate branches from main. They do not conflict unless two runs modify the same files — in which case the second PR to merge will have a normal merge conflict to resolve.
The recommended workflow:
- Keep issues focused and non-overlapping in scope
- Merge PRs as they complete rather than letting them pile up
- For large refactors, run sequentially to avoid conflicts
With the Webhook Trigger
The webhook server handles parallel execution automatically. Each incoming event spawns an independent background process:
bash
# Start webhook server — handles all concurrency automatically
uv run adw_triggers/trigger_webhook.pyGitHub → comment adw_sdlc on three issues → three independent processes spawn immediately, each writing to agents/<their-adw-id>/.
Resource Considerations
Each parallel ADW run calls the Claude API independently. Monitor your Anthropic API usage when running many parallel instances:
- Each
adw_plan_build.pyrun = 2 Claude sessions (planner + implementor) - Each
adw_sdlc.pyrun = 5 Claude sessions (planner + implementor + tester + reviewer + documenter) - Typical cost per
adw_plan_build.pyrun: varies by complexity, usually $0.05-$0.50
Model Selection Per Run
Edit adw_modules/agent.py or use the --model flag on primitive ADWs:
bash
# Sonnet (default) — faster, lower cost
uv run adw_plan_build.py 10
# Opus — better for complex architectural changes
uv run adw_sdk_prompt.py "Refactor this module" --model opus