Getting Started
Install workbench and run your first multi-agent plan in under five minutes.
Prefer to let your agent handle setup? Download the workbench skills and drop them into your project — your agent can install workbench, configure agents, and set up your environment automatically.
Prerequisites
Before installing workbench, make sure you have the following:
- Python 3.11+ — verify with
python3 --version - Git — workbench uses git worktrees for task isolation
- tmux — used for live monitoring of agent sessions
- macOS:
brew install tmux - Linux:
apt install tmux - Windows: available via WSL
- macOS:
- At least one supported agent CLI:
- Claude Code —
claudecommand - Gemini CLI —
geminicommand - OpenAI Codex —
codexcommand - Cursor CLI —
agentcommand - GitHub Copilot CLI —
copilotcommand - Any custom CLI that supports dispatch — see Agents
- Claude Code —
Your agent CLI must be installed and authenticated separately. Workbench dispatches work to these agents — it does not bundle them.
Installation
Install workbench from PyPI:
pip install wbcliThis installs the wb command in your active Python environment.
Project Setup
Navigate to any git repository and run:
wb setupIf you have multiple agent platforms installed, workbench will ask you to choose:
$ wb setup
Multiple agent platforms found. Choose one (claude, gemini): claude
Created /path/to/your/project/.workbench/
Installing 1 command(s) for claude...
Copied /use-workbench → /path/to/your/project/.claude/skills/use-workbench
Use in Claude Code: /use-workbench
Also installed to /path/to/your/project/.agents/skills for cross-client discoverability.
Done. Installed 1 command(s) for claude.
Repo is ready for workbench.
Your First Plan
Don't want to write the plan yourself? Run
wb plan "describe what you want to build"to have a planner agent survey your codebase and produce a ready-to-run plan at.workbench/plans/plan.md. You can also convert an existing spec withwb plan --from spec.md. See CLI Reference for full options.
Create a plan file (e.g. plan.md or .workbench/plan.md) with these sections:
# Plan Title
## Context
Describe what the project is, what you're building, and why.
This is injected into every agent's prompt so they understand
the codebase.
## Conventions
List the coding standards agents should follow:
- Language and framework versions
- Naming conventions, import style
- Test framework and test command
- Any project-specific patterns
## Task: Short Title
Files: path/to/file1, path/to/file2
Detailed description of what to implement. Be specific —
the agent only sees its own task, not the rest of the plan.
Include function signatures, expected behavior, and edge cases.
## Task: Another Task
Files: path/to/other/files
Depends: short-title
Another task description. The Depends line means this task
waits until "Short Title" completes before starting.
Tasks without dependencies run in parallel.Tasks with no shared files and no Depends: line run in parallel. Tasks that depend on earlier work wait until those tasks complete.
Previewing the Plan
Before running, preview the plan to verify tasks and waves:
wb preview plan.mdThis parses the plan and shows the task graph without executing anything:
$ wb preview plan.md
Wave 1 (1 tasks, run in parallel)
• Short Title
Files: path/to/file1, path/to/file2
Detailed description of what to implement...
Wave 2 (1 tasks, run in parallel)
• Another Task
Files: path/to/other/files
After: short-title
Another task description...
Use this to check that dependencies are correct and tasks are grouped into the right waves before dispatching agents.
Running the Plan
Execute the plan:
wb run plan.mdWorkbench parses the tasks, creates isolated git worktrees, and dispatches agents in parallel. Each task goes through a pipeline of roles — implement, test, review — with automatic fixing if anything fails:
$ wb run plan.md
Parsed 2 task(s) from plan.md
Tasks: 2 across 2 wave(s)
Concurrency: 4
—— Wave 1/2 (1 task) ——
Workbench
Task Status Time Pipeline
Short Title done 3m42s impl:ok → test:pass → review:pass
Merging 1 branch(es) into workbench-1...
✓ wb/short-title — Merged cleanly.
—— Wave 2/2 (1 task) ——
Workbench
Task Status Time Pipeline
Another Task done 4m18s impl:ok → test:fail → fix → test:pass → review:pass
Merging 1 branch(es) into workbench-1...
✓ wb/another-task — Merged cleanly.
What's Next
When your plan completes, all changes land on a session branch (e.g. workbench-1) ready to merge. See Running Plans for details on merging results, handling failures, monitoring agents, and cleanup.
- Plan Format — learn about dependencies, waves, and advanced plan structure
- CLI Reference — explore all commands and flags
- Agents — configure multi-provider setups with Claude, Gemini, Codex, Cursor, and Copilot
- Running Plans — monitoring, failure handling, merging, and cleanup