lazyworktree

module
v1.50.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 16, 2026 License: Apache-2.0

README

Go Coverage

LazyWorktree

logo LazyWorktree is a terminal UI for managing Git worktrees with a keyboard-first workflow.

Work across multiple Git worktrees from one interface. Create, switch, remove, and run operations without changing directories.

Built with Bubble Tea, it shows worktree state and integrates with development tools, including tmux, zellij, and OCI runtimes such as Docker or Podman.

Screenshot

lazyworktree screenshot

You can see more screenshots here

Main Features

  • Worktree management - Create worktrees from branches, PRs/MRs, or issues; safely clean up merged worktrees without discarding uncommitted changes; delete, list, and switch between them
  • CI & PR/MR status - See GitHub Actions and GitLab CI results, check PR/MR details, view logs and more.
  • Agent sessions pane - See confirmed active Claude, Codex, Copilot, and pi sessions attached to the selected worktree.
  • Command palette - Quick access to all actions and custom commands with ?.
  • Tmux and Zellij support - Automatically open worktrees in new tmux windows/panes or zellij tabs
  • Docker/Podman support - Run commands in Docker or Podman containers tied to the worktree
  • Custom commands - Set up custom shell commands in config, bind them to keys, show them in the palette.
  • Notes - Markdown notes per worktree to track work in progress
  • Hooks - .wt files per worktree to automate setup and cleanup tasks
  • Customise worktree metadata - Press e in the worktree pane to edit the description, colour, notes, icon, and tags for the selected worktree.
  • Shell helpers - cd "$(lazyworktree)" shortcut and shell completion for bash, zsh, and fish (making it easy to jump to worktrees from the terminal)
  • LLM-friendly CLI - Use doctor, describe, worktrees ..., and notes get to make it esay to manage wortrees with LLM agents.

Documentation

Primary documentation lives on the docs site:

Useful entry points:

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 (gh or glab) for PR/MR status

Optional tools are documented here:

Author

Sponsor

Chmouel Boudjnah

Licence

Apache-2.0

Directories

Path Synopsis
cmd
lazyworktree command
Package main is the entry point for the lazyworktree application.
Package main is the entry point for the lazyworktree application.
hack
docsync command
internal
app
Package app provides the main application UI and logic using Bubble Tea.
Package app provides the main application UI and logic using Bubble Tea.
app/screen
Package screen provides a unified screen management system for modal overlays.
Package screen provides a unified screen management system for modal overlays.
bootstrap
Package bootstrap wires the CLI graph and launches the TUI.
Package bootstrap wires the CLI graph and launches the TUI.
buildinfo
Package buildinfo centralises build metadata for the lazyworktree binary.
Package buildinfo centralises build metadata for the lazyworktree binary.
cli
commands
Package commands provides utility helpers for workspace-related shell commands.
Package commands provides utility helpers for workspace-related shell commands.
config
Package config loads application and repository configuration from YAML.
Package config loads application and repository configuration from YAML.
git
Package git wraps git commands and helpers used by lazyworktree.
Package git wraps git commands and helpers used by lazyworktree.
log
models
Package models defines the data objects shared across lazyworktree packages.
Package models defines the data objects shared across lazyworktree packages.
security
Package security manages trust decisions and persistence for repository config files.
Package security manages trust decisions and persistence for repository config files.
theme
Package theme provides theme definitions and management for the TUI.
Package theme provides theme definitions and management for the TUI.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL