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 ​