Skip to content

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:

  1. Describe a taskowt 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.
  2. Monitor from the Control Plane — Run owt to 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.
  3. Send instructions without switchingowt send auth "Also add refresh tokens" sends a message to an agent in the background. You never leave your terminal.
  4. Merge when doneowt merge auth runs 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.

Next Steps