Git worktrees
A git worktree lets you check out several branches of one repo into separate folders at the same time. In nodeterm a worktree binds to a group frame on the canvas, so working on a branch in isolation is as simple as putting your nodes in a frame.
Worktrees bind to group frames
Section titled “Worktrees bind to group frames”The group frame is the binding. When a worktree is bound to a
frame, every node you create inside that frame inherits the worktree’s folder as its
working directory. That’s the whole idea: an agent per branch is just a group per branch.
Put a Claude node in the feature-x frame and it runs in the feature-x worktree; put
another in the bugfix frame and it runs there — no manual cd, no crossed wires.
Creating
Section titled “Creating”Creation is one step. Choose New worktree… from the pane right-click menu, the command palette (⌘K), or the Source Control panel. nodeterm resolves the repo from your project folder, so you don’t have to type a path.
- Adopt existing — worktrees that already exist in the repo are listed, so you can bind a frame to one instead of creating a new one.
- Orphans — a worktree that isn’t bound to any frame shows up in the creation dialog and can be recovered from there.
Merging back
Section titled “Merging back”When you’re done on a branch, Merge folds it back into its base. Merge always confirms first — it changes the base branch’s working tree, so nodeterm never does it silently.
Pushing the result to origin is opt-in and off by default: a push to origin can’t be
politely undone, so you have to explicitly turn it on in the merge dialog.
Removing & safety
Section titled “Removing & safety”nodeterm is conservative about deleting worktrees:
- It only deletes worktrees it created. A worktree you merely adopted is unbound by default; deleting its directory is an explicit opt-in that defaults to off, and either way its branch is kept.
- Ungrouping or deleting a bound frame releases the binding cleanly. The children keep working, and the now-dead working directory is taken off them so nothing later tries to start a terminal in a folder that’s gone.
Limits
Section titled “Limits”- SSH projects aren’t supported in v1. The affordances still appear, but disabled with the reason shown — a silently missing button teaches nothing.
- The Explorer tree and the ⌘K file index stay scoped to the project folder, so a bound worktree’s files aren’t browsable or searchable from them yet. The worktree’s terminals and editor nodes work fully.