Open Orchestrator (owt) is a multi-provider cockpit for parallel AI coding. Supervise Claude Code, Pi, Droid, and OpenCode across isolated git worktrees from one control plane. Describe a task, get an isolated branch with an AI agent working on it, and monitor everything from a single terminal. ~15,000 lines of code, 7 dependencies, 20+ commands.
What Problem Does It Solve?
Parallel development with AI coding agents today looks like this:
- Multiple terminals — one per branch, each with its own AI session, all fighting for screen space
- Constant context switching — jumping between windows to check progress, send follow-ups, or review output
- No visibility — you can't tell at a glance which agents are working, idle, stuck, or done
- Manual setup — for every new branch you create a worktree, install deps, copy env files, launch the AI tool, and type the task
- Messy cleanup — stale worktrees and orphaned tmux sessions pile up
The Solution: Control Plane + Task-Driven Worktrees
Open Orchestrator replaces that with a fire-and-forget workflow:
- Describe a task —
owt new "Add JWT authentication"creates the branch (auto-named from your description), worktree, tmux session, installs dependencies, and launches an AI agent with your task. One command. - Monitor from the Control Plane — Run
owtto open a prioritized decision surface. Three lanes render top-to-bottom in priority order -- NEEDS YOU (conflicts and blocked agents), READY TO SHIP, and IN FLIGHT -- with empty lanes hidden so the most important thing is always first. - Send instructions without switching —
owt send auth "Also add refresh tokens"sends a message to an agent in the background. You never leave your terminal. - Merge when done —
owt merge authruns a two-phase merge (merge + verify) and automatically cleans up the worktree, branch, and tmux session.
Key Features
Control Plane
The default owt UI is a Control Plane -- a prioritized decision surface with three lanes (NEEDS YOU, READY TO SHIP, IN FLIGHT) that hides empty lanes so the most important work is always at the top. Row verbs let you ship, review, attach, fix, merge, and dismiss without leaving the surface.
Conflict Guard
Real-time file overlap detection between parallel agents. Conflicts surface in the Control Plane's NEEDS YOU section, and owt merge warns before you merge when two branches touch the same files.
Plan-First Workflow
owt new "Build auth system" --workflow launches a native plan-first Claude Code workflow -- plan mode plus a plan-then-execute protocol -- directly in the worktree, so the agent maps out the work before touching code.
Usage Insights
owt usage [--days N] [--json] shows local-only usage counts: control-plane launches, worktrees started, and native workflows run. Nothing leaves your machine.
Agent Broadcast
owt send --all "Run tests" fans out instructions to every agent. owt note "msg" injects shared context into all worktrees' CLAUDE.md files.
Merge Queue
owt queue shows the optimal merge order (smallest changes first). owt queue --ship ships all completed work intelligently.
Headless Mode
owt new "task" --headless creates worktrees without tmux for CI/CD. owt wait polls until the agent finishes.
Task-Driven Worktree Creation
Describe what you want done in natural language. The branch name is auto-generated from your task description. No manual naming, no branch conventions to remember.
Ship in One Shot
owt ship auto-commits, merges to main, and tears down the worktree + tmux session + status in one command.
Two-Phase Merge with Conflict Guard
owt merge catches conflicts early with file overlap warnings, then runs a safe two-phase merge. On success, everything is cleaned up automatically.
Templates
Pre-configured workflows for common task types: feature, bugfix, and hotfix. Each template sets sensible defaults for the worktree setup.
tmux Integration
Every worktree gets a dedicated tmux session. Global keybindings let you navigate: Alt+s returns to the Control Plane, Alt+c creates a new worktree.
Multiplexer Backends
A pluggable multiplexer backend drives session handoff. tmux is the default; the herdr backend is opt-in via owt --herdr. The Control Plane's attach verb hands you off through whichever backend is active.
Branch Mode
Branch mode lets you start a branch session in the current checkout with owt branch -- no separate worktree -- for quick work that does not need an isolated directory.
Multi-AI Tool Support
Works with Claude Code, Pi, Droid, and OpenCode (and detects codex, gemini-cli, aider, amp, and kilo-code). Each worktree gets its own AI agent session. AI tools run with skip-permissions by default for autonomous operation.
Live Status Detection
Push-based hooks for Claude Code and Droid provide real-time status updates (WORKING, WAITING, BLOCKED). The Control Plane sorts agents into NEEDS YOU and IN FLIGHT based on these statuses.
Project Detection
Auto-detects Python, Node.js, Rust, Go, and PHP projects. Installs dependencies with the correct package manager when creating a worktree.
Branch Auto-Naming
Branches are derived from your task description. owt new "Fix the login page CSS" might create a branch like fix-login-page-css. You confirm or edit before creation.
Shell Completion
Auto-completion for bash, zsh, and fish shells.
Usage Modes
Open Orchestrator can be used in two ways:
1. Standalone CLI Tool
Use owt directly from the terminal to manage worktrees, launch AI agents, and monitor work. This is the primary usage mode.
2. Claude Code Plugin
For developers using Claude Code, Open Orchestrator provides plugin integration that lets Claude manage worktrees on your behalf through slash commands.