Skip to content

The ship command is a one-shot workflow that auto-commits any uncommitted changes, merges to the base branch using the two-phase merge, and tears down the worktree, tmux session, and status tracking.

Usage

bash
owt ship <name>

Arguments

ArgumentDescription
nameWorktree name or branch name to ship

What It Does

owt ship performs three steps in sequence:

  1. Auto-commit — stages and commits any uncommitted changes in the worktree
  2. Two-phase merge — merges the feature branch into the base branch (same as owt merge)
  3. Full teardown — kills the tmux session, removes the worktree directory, and clears status tracking

If any step fails, the process stops and reports the error.

Examples

Ship from CLI

bash
owt ship auth-jwt

Output:

Shipping auth-jwt...
  ✓ Committed uncommitted changes
  ✓ Merged feat/auth-jwt into main
  ✓ Killed tmux session: owt-auth-jwt
  ✓ Removed worktree
  ✓ Cleared status tracking

Shipped!

Ship from the Control Plane

Press s on a READY TO SHIP row in the Control Plane to ship it.

When to Use Ship vs Merge

ScenarioCommand
Work is done, everything should be committed and cleaned upowt ship
You want to merge but keep the worktree for follow-up workowt merge --keep
You need to resolve conflicts before mergingowt merge
You want to delete without mergingowt delete

See Also