Skip to main content

A tmux-based viewer for git worktrees

Project description

worktree-mux

A tmux control panel for git worktrees.

When you run multiple AI agents or parallel feature branches, each git worktree becomes its own dev environment. worktree-mux maps 1 worktree → 1 tmux window, so you can instantly jump between contexts to run commands, inspect logs, or debug — without losing your place.

  • What it does: fast terminal access to every worktree
  • What it doesn't do: create or manage worktrees — git still does that

Think: a dashboard for parallel coding environments.

See PLAN.md for assumptions and design considerations.

Install

# Install from PyPI
uv tool install worktree-mux

# Or install from source
git clone https://github.com/tt6746690/worktree-mux.git
uv tool install worktree-mux/

# (Optional) Short alias — add to ~/.zshrc
alias wm='worktree-mux'

# Shell completions — add to ~/.zshrc
eval "$(_WORKTREE_MUX_COMPLETE=zsh_source worktree-mux)"

Usage

  1. Create worktrees with git: worktree-mux just views them
git worktree add .worktrees/feature/auth -b feature/auth
git worktree add .worktrees/fix/parser-bug -b fix/parser-bug
git worktree add .worktrees/refactor-models -b refactor-models
  1. See all worktrees and their tmux/git status with worktree-mux list
Worktrees in my-repo:

  ○ feature/auth                   /path/to/feature/auth
  ○ fix/parser-bug                 /path/to/fix/parser-bug
  ○ refactor-models                /path/to/refactor-models

● = tmux window open    ○ = no tmux window
Session: my-repo (3 worktrees, 0 open)
  1. Jump into a worktree: creates a tmux window and switches to it with worktree-mux open
worktree-mux open auth             # (fuzzy) leaf name match
worktree-mux open parser           # (fuzzy) substring match
worktree-mux open feature/auth     # exact path match

Return to your previous session: prefix + s and toggle

  1. Live dashboard of worktrees — shows branch status, divergence, modified files with worktree-mux dash
my-repo — worktree dashboard (refreshes every 5s)
──────────────────────────────────────────────────────────────────────

Branch              tmux  Modified   vs main   Last Commit
──────────────────  ────  ────────   ───────   ─────────────────
feature/auth        ●     2 files    ↑3        12 minutes ago
fix/parser-bug      ○     clean      ↑1        2 hours ago
refactor-models     ○     3 files    ↑5 ↓2     35 minutes ago

● = tmux window open    ○ = no tmux window
  1. Cleanup: worktree-mux automatically cleans up orphaned tmux windows (from removed worktrees) on every command.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

worktree_mux-0.1.0.tar.gz (42.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

worktree_mux-0.1.0-py3-none-any.whl (11.8 kB view details)

Uploaded Python 3

File details

Details for the file worktree_mux-0.1.0.tar.gz.

File metadata

  • Download URL: worktree_mux-0.1.0.tar.gz
  • Upload date:
  • Size: 42.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.9 {"installer":{"name":"uv","version":"0.9.9"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for worktree_mux-0.1.0.tar.gz
Algorithm Hash digest
SHA256 59c1e9b8d2b8acc0f7b635777ec57736f0d4639bb35b9f7d5103189978ab9aa1
MD5 466713b516edff66ea34699d20b2d99b
BLAKE2b-256 1f8b9e7aa1127512dd7600d51fc22a249be075d068057e64c47728e59186a724

See more details on using hashes here.

File details

Details for the file worktree_mux-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: worktree_mux-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 11.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.9 {"installer":{"name":"uv","version":"0.9.9"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for worktree_mux-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ca75175dd9aa447dffa97f4c0469273935a419c901d7ab235142e4b822c85d8e
MD5 3add6fd64c5ce672813f06ddfa3247c8
BLAKE2b-256 ba6009d45d8caad355842cd9d2aaf87b66433097f925b21ffb38bbe803384eba

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page