General Questions
What is Open Orchestrator?
Open Orchestrator is a lean CLI tool (7 dependencies) for git worktree + AI coding tool orchestration. It enables developers to work on multiple tasks simultaneously by creating isolated worktrees, each with its own tmux session and AI coding tool instance. It provides 20+ commands and a Textual-based Control Plane for managing everything.
What AI tools does it support?
- Claude Code (default) - Anthropic's CLI for Claude
- OpenCode - Go-based AI coding assistant
- Droid - Factory's AI with configurable autonomy
The AI tool picker (Alt+c) also detects Codex, Gemini CLI, Aider, Amp, and Kilo Code if installed.
Do I need tmux?
Yes, tmux is required. Open Orchestrator uses tmux for session management and the Control Plane interface.
Does it work on Windows?
Currently, Open Orchestrator is designed for Unix-like systems (macOS, Linux). Windows support via WSL may work but is not officially supported.
Installation
What Python version do I need?
Python 3.10 or higher is required.
Can I install globally?
Yes:
pip install open-orchestratorOr with uv:
uv pip install open-orchestratorHow do I update?
# If installed from source
cd /path/to/open-orchestrator
git pull
pip install -e .
# If installed from PyPI
pip install --upgrade open-orchestratorWhat are the dependencies?
Open Orchestrator has only 7 dependencies: click, pydantic, rich, toml, gitpython, libtmux, and textual.
Worktrees
What is a git worktree?
A git worktree is an additional working directory linked to your repository. Unlike branches, worktrees give you a complete working directory for a specific branch. See Git Worktrees.
Where are worktrees created?
By default, worktrees are created as siblings to your main repository:
my-project/ # Main repo
my-project-feat-user-authentication/ # Worktree
my-project-feat-build-rest-api/ # WorktreeConfigure in .worktreerc:
[worktree]
base_directory = "../worktrees" # Custom locationCan I have the same branch in multiple worktrees?
No, git doesn't allow the same branch to be checked out in multiple worktrees. This prevents conflicting changes.
How do I delete all worktrees?
owt cleanup --no-dry-run --yesOr manually:
git worktree list
git worktree remove <path>How does branch naming work?
When you run owt new "task description", the description is automatically converted to a branch name. For example, owt new "Add user authentication" creates branch feat/user-authentication. See Branch Naming.
Control Plane
What is the Control Plane?
The Control Plane is a Textual-based, prioritized decision surface launched by running owt with no arguments. It groups active worktrees into three lanes (NEEDS YOU, READY TO SHIP, IN FLIGHT) so you can see what needs attention at a glance and navigate between them.
How do I navigate the Control Plane?
- Arrow keys to move between worktrees
Enterto patch in to a worktree sessionAlt+sto return to the Control PlaneAlt+mto merge current worktreeAlt+dto delete current worktreeAlt+cto create a new worktreeqto quit
tmux
How do I detach from a tmux session?
Press Ctrl+B, D. Or use Alt+s to return to the Control Plane (recommended).
Can I customize tmux keybindings?
Yes, your ~/.tmux.conf settings apply to Open Orchestrator sessions.
Commands
What commands does Open Orchestrator have?
Open Orchestrator has 20+ commands. Core commands include: owt (control plane), new (with --workflow for plan-first runs), list, switch, send, merge, ship, delete, queue, wait, note, sync, cleanup, version, usage, config validate, config show, db purge, db vacuum, db health, doctor, branch, and attach.
How do I see what the AI is working on?
Open the Control Plane:
owtEach worktree shows the current status and task.
Can I send multi-line commands?
Yes:
owt send feat/auth "Please implement:
1. Login endpoint
2. Logout endpoint
3. Session management"How does merge work?
owt merge uses a two-phase approach: first it merges base into feature (to catch conflicts safely), then fast-forwards feature into base.
Configuration
Where is the config file?
Open Orchestrator looks in this order:
.worktreercin project.worktreerc.tomlin project~/.config/open-orchestrator/config.toml~/.worktreerc
How do I set defaults for all projects?
Create ~/.config/open-orchestrator/config.toml:
[tmux]
ai_tool = "claude"
auto_start_ai = trueHow do I override project detection?
In .worktreerc:
[project]
type = "python"
package_manager = "uv"
install_command = "uv sync"Templates
What templates are available?
Three built-in templates: feature (plan mode, TDD), bugfix (root cause analysis), and hotfix (minimal fix). You can define custom templates in .worktreerc.
How do I use a template?
owt new "Fix login bug" -t bugfixStatus & Monitoring
Where is status data stored?
~/.open-orchestrator/status.db
What status values exist?
IDLE, WORKING, BLOCKED, WAITING, COMPLETED, ERROR, and UNKNOWN.
Claude Code Integration
How do I install the skill?
owt skill installWhat slash commands are available?
/worktree- Main management command/wt-create- Quick create/wt-list- List worktrees/wt-cleanup- Clean up
Do I need to configure permissions?
Yes, add to .claude/settings.json:
{
"permissions": {
"allow": ["Bash(owt:*)"]
}
}Troubleshooting
Why isn't my AI tool starting?
- Check it's installed:
which claude - Open the Control Plane and patch in to see errors:
owtthenEnter - Check your
.worktreercconfiguration
Why are dependencies not installing?
- Check project detection with
--verboseflag - Override if needed in
.worktreerc - Install manually in the worktree directory
How do I reset everything?
# Delete all worktrees
owt cleanup --no-dry-run --force --yes
# Clear status data
rm ~/.open-orchestrator/status.dbBest Practices
How many worktrees should I have?
There's no hard limit, but consider:
- Memory usage (each tmux session uses resources)
- Disk space (worktrees share git objects)
- Cognitive load (more to track)
A practical limit is 5-10 active worktrees.
Should I commit work in worktrees?
Yes, commit and push regularly. Worktrees are temporary workspaces, not backups.
When should I clean up?
- After features are merged
- Weekly for stale worktrees
- When running low on disk space
owt cleanup --days 7 --no-dry-run