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'

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.

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.4.0.tar.gz (45.1 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.4.0-py3-none-any.whl (13.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: worktree_mux-0.4.0.tar.gz
  • Upload date:
  • Size: 45.1 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.4.0.tar.gz
Algorithm Hash digest
SHA256 c82fabdfe97b2de29c230f60f07b08d29841996bdf56b268a36e35a1f685a0b4
MD5 82d4d3f99baa284dca4673c8e3c4618c
BLAKE2b-256 ed98324d04353b818aa91be5c956189a90437f127d425795432a460515535cbd

See more details on using hashes here.

File details

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

File metadata

  • Download URL: worktree_mux-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 13.2 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.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 53ef8a8007a57525eba81c7c2638b87a3a07cb43a41ba9cb072a69e9a20ec6af
MD5 81bd2960b51e479f7cd839b2386790a0
BLAKE2b-256 2df9834766c5ffc92987fa68c6ba5ae9b5f4a1503183abfe0263be54c295269b

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