Worktrees
How Orca turns every feature or bug into its own git worktree.
Orca is worktree-native. Instead of branching and stashing on one checkout, every task gets its own on-disk copy of the repo via git worktree. This is what makes parallel agents safe — they never step on each other's files.
The model
- Each repo has a base ref (usually
origin/main). - Each worktree has a start-from ref — what it branches off.
- Each worktree has its own branch, its own files on disk, and its own agent terminals.
- Deleting a worktree removes both the directory and the branch (with confirmation).
Per-feature lifecycle
- Create — task name, start-from picker, optional Linear/GitHub issue link.
- Work — agent terminals, editor tabs, browser tabs, terminal panes all scoped to this worktree.
- Review — diff view against the start-from ref, Annotate AI Diff, Attribution.
- Ship — commit, push, open PR, wait on checks — all inline.
- Archive or delete — one click removes the worktree and branch.
Start-from picker
When creating a worktree you pick what to branch from. This can be:
- The repo's base ref (the fast path).
- Another local branch — useful for stacking work on top of a PR in review.
- A specific commit SHA.
- An existing remote branch — Orca will fetch and check it out.
Sidebar layout
The sidebar groups worktrees by project by default — top-level rows are projects (one project = one git repo or a related cluster), expanded into the worktrees you're actively working on. The header has its own filter input (separate from the global search) so you can narrow the list without leaving the sidebar.
A Search button at the top of the sidebar opens Worktree Jump Palette (Cmd-J) — same surface, click-driven for users who don't lean on the keyboard for navigation. The status bar shows agent activity inline; unread worktrees are bolded rather than badged.
When you have many repos, the header's filter control opens a searchable popover — type to narrow the visible repos by name, toggle individual repos on or off, and the sidebar updates as you type. Newly-added repos that match the active query show up immediately.
You can pin a worktree to the top of its project to keep long-running work in view, and right-clicking a worktree exposes archive / sleep / delete actions. Repo rows themselves can be reordered by drag — grab a project header and drop it where you want it; the order persists across restarts.
Using plain git
Every Orca worktree is a real git worktree. You can open a terminal in it and use git status, git rebase, git cherry-pick, and anything else — Orca picks up the changes next render.