Skip to content

This tutorial walks through the complete lifecycle of building a feature with Open Orchestrator -- from task description to merged code on main.

What You'll Do ​

  1. Create a worktree from a task description
  2. Monitor the agent from the Control Plane
  3. Send a follow-up instruction
  4. Jump into the session to review
  5. Ship the completed work

Prerequisites ​

  • Open Orchestrator installed (owt version)
  • A git repository to work in
  • tmux installed
  • An AI coding tool (Claude Code, Pi, OpenCode, or Droid)

Step 1: Create a Worktree ​

Navigate to your project and describe the task:

bash
$ cd ~/projects/my-app

$ owt new "Add password reset flow"

You see the branch name confirmation:

Task: Add password reset flow
Branch: add-password-reset-flow
Accept? [Y/n/edit]: Y

Creating worktree...
  Branch: add-password-reset-flow
  Path:   ../my-app-add-password-reset-flow

Detecting project type...
  Detected: node (npm)

Installing dependencies...
  Running: npm install
  Done.

Setting up environment...
  Copied .env
  Copied CLAUDE.md (paths adjusted)

Creating tmux session...
  Session: owt-add-password-reset-flow

Launching AI agent...
  Tool: claude-code
  Task: "Add password reset flow"

Ready. Worktree is active.

The AI agent is now working in the background. You stay in your current terminal.

Step 2: Monitor from the Control Plane ​

Launch the Control Plane to see all your worktrees:

bash
$ owt

The Control Plane shows your new worktree with a live status light:

  CONTROL PLANE                                        ●1 active

  ┌─ reset ──────────────────┐
  │ ● WORKING          2m    │
  │ add-password-reset-flow   │
  │ claude          +34 -0    │
  │ Add password reset flow   │
  └───────────────────────────┘

  [↑↓←→] navigate  [Enter] patch in  [s] send  [n] new  [q] quit

The ● indicator means the agent is actively coding. The +34 -0 shows lines added so far.

Press q to exit back to your terminal.

Step 3: Send a Follow-Up Instruction ​

While the agent works, send it an additional instruction:

bash
$ owt send reset "Also add email verification before allowing password reset"
Sent to add-password-reset-flow

The message is delivered to the agent's tmux pane. The agent picks it up and continues working.

Step 4: Jump Into the Session ​

Once you want to review, switch to the worktree's session:

bash
$ owt switch reset

You are now inside the tmux session, face-to-face with the AI agent. You can:

  • Read the code changes
  • Ask the agent questions directly
  • Make manual edits alongside the agent

When you are done reviewing, press Alt+s to return to the Control Plane, or Ctrl+B, D to detach from tmux entirely.

Step 5: Ship the Completed Work ​

Once the feature is ready, ship it in one command:

bash
$ owt ship reset
Shipping add-password-reset-flow...

  Auto-committing changes...
    3 files changed, 142 insertions(+), 12 deletions(-)
    Commit: feat: add password reset flow with email verification

  Merging into main...
    Phase 1: Merge complete (no conflicts)
    Phase 2: Verification passed

  Cleaning up...
    Removed worktree: ../my-app-add-password-reset-flow
    Deleted branch: add-password-reset-flow
    Closed tmux session: owt-add-password-reset-flow

Shipped.

Step 6: Verify on Main ​

Switch to main and confirm the merge:

bash
$ git log --oneline -3
a1b2c3d feat: add password reset flow with email verification
...

The feature is merged, the worktree is gone, and the tmux session is cleaned up. One command to create, one command to ship.

What's Next? ​