Nermal
Git

Worktrees

An isolated checkout on a fresh branch, in one dialog and one tab.

Running two agents on the same repository at once means they fight over the working tree. A git worktree is the fix, and Nermalmakes it a single dialog.

Creating one

New Worktree Tab… — in the command palette, the tab's right-click menu, and the application menu — asks three things:

FieldDefault
Worktree NameA fresh name that does not collide with an existing branch or directory
New BranchThe same name, editable
Start FromThe branch you are currently on

Each field opens on a suggestion you can accept or type straight over.

Creating a worktree
Placeholder — screenshot: the New Worktree Tab dialog

Confirm and Nermalcreates the worktree, opens a tab in it, and starts a shell there. The sidebar files it under the same repository group as its parent, on its own branch.

Where they go

Worktrees land inside the repository, under:

<repo>/.Nermal/worktrees/<name>

<repo>/.Nermal/.gitignore is created with * in it the first time, so the directory never shows up as an untracked mess in your own repository.

Removing one

Closing a worktree tab offers to remove the worktree with it:

  • Clean tree — Remove Worktree or Keep.
  • Dirty tree — the dialog says so, and removing requires the explicit Discard Changes & Remove.

Nothing is removed silently, and Keep leaves the worktree on disk for git worktree list to find later.

Pair this with agent sessions: a worktree per agent means two Claude Codes can work on the same repository without stepping on each other's files.

Sponsor