Skip to content
forktty_
Worktrees

Git worktrees as first-class workspaces.

ForkTTY treats git worktrees as visible workspaces so parallel terminal processes can work on separate branches without sharing one mutable checkout.

Quick start

Point commands at a repository already represented by a ForkTTY workspace or pane.

List worktrees
forktty worktree-list --cwd /path/to/repo
Create a branch workspace
forktty worktree-create feature/my-task --cwd /path/to/repo
Inspect repository state
forktty worktree-status --cwd /path/to/repo

Parallel work without collisions

Each editing lane can have its own directory, branch, workspace, tabs, and pane tree.

Retry-stable identity

For the exact worktree-name/canonical-path identity, Create and Attach reuse the same existing modeled workspace ID and allocate no new modeled surface; same-named worktrees at different canonical paths stay distinct.

Visible repository boundary

Socket operations validate paths against repositories already open in ForkTTY.

Conservative cleanup

Remove and merge flows check dirty state and linked worktree metadata before changing repository state.

Quiescent cleanup

GTK and socket mutations serialize inside the running ForkTTY process, not through a cross-process Git lock. Remove suppresses automatic terminal respawn while closing the exact target and attempts to restore runtime/model state if the operation fails. Terminal respawn during rollback can fail; ForkTTY then records a blocking terminal error status before suppression ends.

Questions

Why use worktrees with coding agents?
They let multiple processes edit different branches without sharing one checkout.
Can ForkTTY create them from the UI?
Yes. Create, attach, merge, and remove flows are available from the workspace UI and socket CLI.
Can a socket client mutate any repo?
No. Worktree operations are bounded to repositories visibly represented in ForkTTY.

Explore related ForkTTY pages

Get the alpha build

AppImage and .deb packages are published on GitHub Releases for Linux x86_64.

View releases