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.
Creation runs in the background
Submitting the Create Worktree dialog closes it immediately — the git fetch and git worktree add work continues in the background while you keep using Orca. The new worktree appears in the sidebar with a progress row, and the worktree's tab shows live setup status until the checkout finishes and swaps to the terminal. You can switch to other worktrees while a create is in flight, watch the progress, or cancel it from the in-tab panel. If creation fails, the panel surfaces the error with a Retry.
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.
When you add a parent folder that contains multiple Git repos, Orca can import the selected repos separately or group them under one project group.
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.
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. Hold Cmd (Ctrl on Linux/Windows) while clicking to add worktrees to a multi-selection, or hold Shift to select a contiguous range — right-clicking any selected worktree applies the action to every worktree in the selection. Repo rows themselves can be reordered by drag.
Double-click a worktree title in the sidebar to rename it inline. Double-clicking elsewhere on the card still opens the full edit dialog.
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.