Skip to content

Open Orchestrator supports multiple AI coding tools, allowing you to choose the best tool for each task or use your preferred tool across all worktrees.

Supported AI Tools ​

Open Orchestrator natively supports four AI coding tools:

Claude Code (Default) ​

Claude Code is Anthropic's official CLI for Claude. It is the default AI tool in Open Orchestrator.

bash
# Create worktree with Claude Code (default)
owt new "Add user authentication"

# Explicitly specify Claude
owt new "Add user authentication" --ai-tool claude

Pi ​

Pi is a TUI agent supported alongside Claude Code, OpenCode, and Droid. It is auto-detected via which pi and selectable with --ai-tool pi. As a TUI agent, it submits prompts via Enter, which makes it especially relevant under the herdr backend. Pi is wired through the same AgentLauncher / ToolRegistry path as the other tools, so it behaves like any other supported tool.

bash
# Create worktree with Pi
owt new "Add caching layer" --ai-tool pi

OpenCode ​

OpenCode is a Go-based AI coding assistant.

bash
# Create worktree with OpenCode
owt new "Build REST API" --ai-tool opencode

Droid ​

Droid is Factory's AI coding tool with configurable autonomy levels.

bash
# Create with default autonomy
owt new "Refactor user service" --ai-tool droid

Droid Autonomy Levels ​

LevelDescription
lowAsks for confirmation on most actions
mediumBalanced automation with checkpoints
highMaximum autonomy, minimal confirmations

Auto-Detection from PATH ​

Open Orchestrator automatically detects which AI tools are available by checking your PATH:

bash
which claude     # Claude Code
which pi         # Pi
which opencode   # OpenCode
which droid      # Droid

If the configured AI tool is not found in PATH, you will get an error when creating a worktree that uses it.

AI Tool Picker (Alt+c) ​

The AI tool picker is a popup menu accessible from any worktree session by pressing Alt+c. It shows all detected AI tools and allows you to switch the active tool for the current worktree.

The picker displays both the four natively supported tools and additional tools it detects in your PATH:

ToolDetection
Claude Codewhich claude
Piwhich pi
OpenCodewhich opencode
Droidwhich droid
Codexwhich codex
Gemini CLIwhich gemini
Aiderwhich aider
Ampwhich amp
Kilo Codewhich kilo

The picker only shows tools that are actually installed and available.

Command Generation ​

Open Orchestrator generates the correct launch command for each AI tool. By default, agents run with skip-permissions enabled for autonomous operation:

ToolGenerated Command
Claude Codeclaude --dangerously-skip-permissions
Claude Code (plan mode)claude --permission-mode plan
Pipi
Pi (headless)pi -p
OpenCodeopencode
OpenCode (custom config)opencode --config <path>
Droiddroid --skip-permissions-unsafe
Droid (with auto level)droid --auto-level <level>

Pi is a TUI agent: the task prompt is submitted interactively via Enter rather than through a skip-permissions or prompt flag, which is why its launch command takes no extra arguments. This makes it a natural fit for the herdr backend.

Skip-permissions is the default because OWT-managed worktrees are isolated branches -- agents can work autonomously without blocking on permission prompts.

Orchestrated Agent Sessions ​

Orchestrated and batch agents start Claude Code in interactive mode (no -p flag). The task prompt is delivered separately via tmux paste-buffer after the AI tool signals readiness. This keeps agent sessions patchable from the Control Plane -- you can jump in, interact, and leave while the orchestrator continues coordination.

See tmux Integration — Paste-Buffer for details on the prompt delivery mechanism.

Default AI Tool Configuration ​

Set your default AI tool in .worktreerc:

toml
[tmux]
ai_tool = "claude"  # claude, pi, opencode, droid
auto_start_ai = true

Tool-Specific Configuration ​

toml
# Claude Code settings
[claude]
# Claude-specific options configured here

# Pi needs no extra configuration -- it launches as a bare `pi`

# Droid settings
[droid]
default_auto_level = "medium"  # low, medium, high
skip_permissions_unsafe = false

# OpenCode settings
[opencode]
config_path = "~/.config/opencode/opencode.json"

Switching AI Tools per Worktree ​

Each worktree can use a different AI tool:

bash
# Complex reasoning: Claude
owt new "Design authentication architecture" --ai-tool claude

# API work: OpenCode
owt new "Build payment gateway" --ai-tool opencode

# Automated refactoring: Droid with high autonomy
owt new "Clean up legacy code" --ai-tool droid

# Quick TUI session: Pi
owt new "Add a caching layer" --ai-tool pi

You can also switch tools on the fly using the AI tool picker (Alt+c) from within any worktree session.

Mixed Tool Workflows ​

You can orchestrate different AI tools simultaneously:

bash
# Create worktrees with different tools
owt new "Design auth flow" --ai-tool claude
owt new "Implement REST endpoints" --ai-tool opencode
owt new "Write integration tests" --ai-tool droid
owt new "Add a caching layer" --ai-tool pi

# Monitor all in the Control Plane
owt

Custom Tool Registration ​

Beyond the four built-in tools, you can register any AI coding tool via configuration -- no code changes needed. Custom tools are defined in .worktreerc under [tools.<name>]:

toml
[tools.mytool]
binary = "my-ai-tool"
command_template = "{binary} --interactive"
prompt_flag = "-p"
supports_hooks = false
install_hint = "Install from https://example.com/mytool"
known_paths = ["~/.local/bin/mytool", "/opt/mytool/bin/mytool"]

Custom Tool Options ​

OptionTypeDescription
binarystringExecutable name (looked up in PATH)
command_templatestringCommand template with {binary} placeholder
prompt_flagstringFlag to pass a prompt string (e.g., -p)
supports_hooksboolWhether this tool supports OWT status hooks
install_hintstringInstallation instructions shown if binary not found
known_pathsarrayAdditional paths to search beyond PATH

Once registered, custom tools work like built-in ones:

bash
owt new "Build feature" --ai-tool mytool

They also appear in the AI tool picker (Alt+c) and are auto-detected at startup if the binary is found.

AI Tool Requirements ​

Claude Code ​

  • Install: npm install -g @anthropic-ai/claude-code or via Anthropic
  • Auth: Run claude and follow authentication flow
  • Verify: which claude

Pi ​

  • Verify: which pi
  • Usage: A TUI agent -- prompts are submitted interactively via Enter, which suits the herdr backend

OpenCode ​

  • Install: See OpenCode documentation
  • Config: Create config file at ~/.config/opencode/opencode.json
  • Verify: which opencode

Droid ​

  • Install: See Droid documentation
  • Auth: Run droid and follow authentication flow
  • Verify: which droid

Troubleshooting ​

AI Tool Not Starting ​

  1. Verify the tool is installed:

    bash
    which claude
    which pi
    which opencode
    which droid
  2. Patch in to the worktree session from the Control Plane to see error messages.

  3. Check your .worktreerc configuration.

Wrong Tool Started ​

Use the AI tool picker (Alt+c) to switch to the correct tool, or:

  1. Kill the current process in the tmux pane (Ctrl+C)
  2. Start the correct tool manually

Configuration Not Applied ​

Ensure your .worktreerc is in the project root:

bash
ls -la .worktreerc

Next Steps ​