The branch command starts an AI agent session in branch mode -- it checks out a new branch in your current checkout and launches the agent there, without creating a separate git worktree. Setup is faster and there is no extra disk usage, at the cost of the parallel isolation a worktree provides.
Usage
owt branch "task description"This is equivalent to running the new command with the --in-place flag:
owt new "task description" --in-placeArguments
| Argument | Description |
|---|---|
"task description" | A quoted string describing the task (used to auto-generate the branch name) |
What It Does
- Generates a branch name from the task description.
- Checks out a new branch in the current working directory (no separate worktree directory is created).
- Launches the AI agent in a session and sends the task description as the initial prompt.
- Records the session in the status database with
session_type = "branch".
Because branch mode shares one working directory, only one branch session can be checked out in that directory at a time. Subsequent commands -- owt merge, owt ship, owt send, owt switch, and owt delete -- all operate on branch sessions by falling back to the status database, and owt doctor reconciles them against git branch --list.
Examples
Create a Branch Session
owt branch "fix the flaky login test"Equivalent via owt new
owt new "fix the flaky login test" --in-placeowt branch vs owt new
owt new (without --in-place) creates a full git worktree -- a separate working directory that can run in parallel with others. owt branch shares the current directory, so it is faster and uses no extra disk, but only one branch session can be active in that directory at a time. Use owt new when you need multiple isolated tasks running simultaneously; use owt branch for quick, single-track work.
See Also
- Branch Mode -- The full model, trade-offs, and command behavior
owt new-- Create a worktree (or a branch session with--in-place)