Skip to main content

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'

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 status with worktree-mux (or worktree-mux ls)
worktree-mux — my-repo
────────────────────────────────────────────────────────────────

    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    ▸ = current
  Session: my-repo (3 worktrees, 1 open)
  1. Jump into a worktree: creates a tmux window and switches to it with worktree-mux cd
worktree-mux cd auth             # (fuzzy) leaf name match
worktree-mux cd parser           # (fuzzy) substring match
worktree-mux cd feature/auth     # exact path match
worktree-mux cd                  # go to the main window (repo root)

Return to your previous session: prefix + s and toggle

  1. Live dashboard of worktrees — auto-refreshing version of the status table with worktree-mux dash
worktree-mux — my-repo (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    ▸ = current
  1. Cleanup: worktree-mux automatically cleans up orphaned tmux windows (from removed worktrees) on every command. No manual close needed — just delete the worktree with git worktree remove and the window goes away.

Metadata

Release files for worktree-mux 0.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for worktree-mux 0.4.0
File Size Uploaded
worktree_mux-0.4.0.tar.gz 45.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for worktree-mux 0.4.0
File Interpreter ABI Platform
worktree_mux-0.4.0-py3-none-any.whl Python 3 none any Details

Total release size: 58.2 kB

Release files / worktree_mux-0.4.0.tar.gz

Download URL worktree_mux-0.4.0.tar.gz
Size 45.1 kB
Tags Source
SHA-256 checksum
How to use checksums
c82fabdfe97b2de29c230f60f07b08d29841996bdf56b268a36e35a1f685a0b4
BLAKE2b-256 checksum
How to use checksums
ed98324d04353b818aa91be5c956189a90437f127d425795432a460515535cbd
Upload date
Uploaded using Trusted Publishing?
What is 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}

Release files / worktree_mux-0.4.0-py3-none-any.whl

Download URL worktree_mux-0.4.0-py3-none-any.whl
Size 13.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
53ef8a8007a57525eba81c7c2638b87a3a07cb43a41ba9cb072a69e9a20ec6af
BLAKE2b-256 checksum
How to use checksums
2df9834766c5ffc92987fa68c6ba5ae9b5f4a1503183abfe0263be54c295269b
Upload date
Uploaded using Trusted Publishing?
What is 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}

Release history Release notifications | RSS feed

This release

0.4.0 This release

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page