LazyWorktree
LazyWorktree is a keyboard-driven terminal UI for managing Git worktrees.
Manage multiple Git worktrees from one interface: create, remove, and switch between them without navigating between directories.
Built with Bubble Tea, LazyWorktree shows worktree state and supports tmux, Zellij, Docker, and Podman.
Screenshot
Main Features
- Worktree management: Create worktrees from branches, PRs/MRs, or issues; clean up merged worktrees without discarding uncommitted changes; list and switch between worktrees.
- CI and PR/MR status: View GitHub Actions and GitLab CI results, PR/MR details, and logs.
- Agent sessions pane: View confirmed active Claude, Codex, Copilot, and pi sessions attached to the selected worktree.
- Command palette: Press
?to open the palette for actions and custom commands. - Tmux and Zellij support: Open worktrees in tmux windows or panes, or Zellij tabs.
- Docker/Podman support: Run commands in containers for a worktree.
- Custom commands: Configure shell commands, bind them to keys, and list them in the palette.
- Notes: Keep Markdown notes for each worktree.
- Hooks: Automate worktree setup and cleanup with
.wtfiles. - Customise worktree metadata: Press
ein the worktree pane to edit the selected worktree's description, colour, notes, icon, and tags. - Shell helpers: Jump to a worktree with
cd "$(lazyworktree)". Completions are available for Bash, Zsh, and Fish. - LLM-friendly CLI: Use
doctor,describe,worktrees ..., andnotes getto help LLM agents inspect and manage worktrees.
Documentation
Primary documentation lives on the docs site:
- Introduction:
- Getting started:
- Core workflows:
- Navigation and keybindings:
- Configuration overview:
- Configuration reference:
- Full configuration example:
config.example.yaml - CLI overview:
- CLI flags reference:
- CLI commands reference:
- Troubleshooting:
Installation
Homebrew (macOS)
brew tap chmouel/lazyworktree https://github.com/chmouel/lazyworktree
brew install lazyworktree --cask
Arch Linux
yay -S lazyworktree-bin
From source
go install github.com/chmouel/lazyworktree/cmd/lazyworktree@latest
Quick Start
cd /path/to/your/repository
lazyworktree
Shell Integration
To jump to the selected worktree from your shell:
cd "$(lazyworktree)"
For shell integration helpers, see:
Requirements
- Git 2.31+
- Forge CLI (
ghorglab) for PR/MR status
Author
Chmouel Boudjnah
- Fediverse - <@[email protected]>
- Twitter - <@chmouel>
- Blog - <https://blog.chmouel.com>