FAQ
Why use Git worktrees instead of stashing?
Worktrees let you keep multiple branches checked out simultaneously in separate directories. This avoids repeated stash/apply cycles and reduces context-switch overhead.
Does this modify my main repository history?
No. Worktrees are alternate checkouts that still point to the same underlying Git repository.
Can I use this with private GitHub repositories?
Yes. Any repository you can clone and operate with Git locally can be managed.
Is there a required branch naming scheme?
No hard requirement, but a team naming convention (for example feature/*, fix/*, chore/*) makes list and cleanup flows easier.
Which editor can I open worktrees in?
Any editor command that can open a directory. Configure your preferred command with:
worktree config codeEditor <command>The value is the executable plus any arguments, run without a shell. See Editor Integration.
Can I open worktrees somewhere other than an editor?
Yes. Set opener to herdr to have each worktree land as a
Herdr space instead:
worktree config opener herdrSee Herdr Spaces.
To open it nowhere, set opener to none. The command prints Worktree created at <path> and stops,
without starting an editor or Herdr.
worktree config opener noneWhat happens to a Herdr space when I remove the worktree?
It is closed with it. worktree remove and worktree cleanup close the space of every worktree
they delete, so you are not left tidying up spaces with no checkout under them.
Only worktrees that were actually removed. One held back — for uncommitted changes, a live agent, or
unpushed commits — keeps its space, and so does a removal you declined — in each case the checkout is still on disk. If
Herdr cannot be reached the close is a warning and the command still exits 0, because by then the
worktree is already gone.
Does worktree run on Windows?
It is developed and tested on macOS and Linux only. Windows is not supported.
Where can I see all command options?
Use the command reference pages under /docs/commands and run:
worktree --help
worktree <command> --help