Skip to main content

A manager for multiple Claude Code instances with tmux

Project description

Features

  • Worktree Isolation: Each agent gets its own git worktree, preventing branch conflicts
  • TUI Dashboard: Real-time status monitoring with vim-style navigation
  • Attention System: Jump between panes needing user input (permission requests, notifications, questions)
  • Plugin Integration: Claude Code hooks track agent state in a shared SQLite database
  • tmux Bindings: Quick navigation with customizable keybindings

Requirements

  • Python 3.12+
  • tmux
  • uv (recommended) or pip
  • git

Installation

From GitHub (Recommended)

Install the plugin directly from GitHub using Claude Code's marketplace:

claude /install-plugin burstMembrane/claude-tmux

Then install the CLI tools:

# With uv (recommended)
uv tool install claude-tmux

# Or with pip
pip install claude-tmux

From PyPI

If you prefer to install everything via PyPI:

# Install CLI tools
uv tool install claude-tmux

# Run guided setup to install the plugin
claude-tmux setup

The setup command copies the bundled plugin to Claude Code and optionally configures tmux bindings and the MCP server.

Quick Start

# Create a new agent with a worktree
claude-tmux new feature-auth

# List all agents
claude-tmux ls

# Attach to an agent's tmux window
claude-tmux attach feature-auth

# Launch the TUI dashboard
claude-tmux ui

# Jump to next pane needing attention
claude-tmux next-attention

# Merge and cleanup when done
claude-tmux merge feature-auth

TUI Dashboard

Launch with claude-tmux ui for an interactive dashboard.

Navigation:

Key Action
j/k Move cursor down/up
g/G Jump to top/bottom
Enter Switch to agent pane
/ Search agents
A Toggle attention-only filter
p Toggle preview pane
n Create new agent
x Kill selected agent
? Show all keybindings
q Quit

Environment Variables:

Variable Default Description
CLAUDE_TMUX_TUI_PREVIEW true Show preview pane on startup
CLAUDE_TMUX_TUI_PERSIST true Keep TUI open after jumping to agent

tmux Integration

Add to your .tmux.conf:

# Popup TUI dashboard
bind-key M-u display-popup -E -w 90% -h 85% "ctmux ui"

# Generate all recommended bindings
claude-tmux bindings >> ~/.tmux.conf

Plugin Setup

The Claude Code plugin tracks agent state automatically via lifecycle hooks.

If you installed the plugin from GitHub (/install-plugin), it's already configured. Use this section only if you installed via PyPI and need to run claude-tmux setup.

Guided Setup

claude-tmux setup

This command:

  1. Checks prerequisites (tmux, claude, git, Python 3.12+)
  2. Copies the bundled plugin to Claude Code
  3. Configures tmux key bindings (optional)
  4. Installs MCP server globally (optional)
  5. Builds macOS desktop notifier (optional, macOS only)
  6. Verifies the installation

Options:

Flag Description
--yes, -y Skip confirmation prompts
--skip-bindings Don't install tmux key bindings
--skip-mcp Don't install MCP server
--skip-notifier Don't build macOS notifier
--reinstall Reinstall even if already installed

Uninstall

claude-tmux uninstall

Removes the plugin from Claude Code and optionally removes tmux bindings.

Flag Description
--yes, -y Skip confirmation prompts
--keep-bindings Don't remove tmux key bindings

CLI Reference

# Setup
claude-tmux setup            # Install plugin and configure
claude-tmux uninstall        # Remove plugin
claude-tmux doctor           # Validate environment

# Agent Management
claude-tmux new <name>       # Create agent with optional worktree
claude-tmux kill <name>      # Stop agent
claude-tmux attach <name>    # Switch to agent window
claude-tmux ls               # List agents with status
claude-tmux merge <name>     # Squash-merge worktree and cleanup

# Navigation
claude-tmux next-attention   # Jump to next attention pane
claude-tmux prev-attention   # Jump to previous attention pane
claude-tmux next-done        # Jump to next completed pane

# Utilities
claude-tmux reconcile        # Clean up stale agents
claude-tmux events           # View event log
claude-tmux bindings         # Generate tmux keybindings

Development

See CLAUDE.md for architecture details, coding standards, and contributor guidelines.

make install      # Install dependencies
make test         # Run tests
make typecheck    # Run mypy
make pre-commit   # Run all checks

License

MIT

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

claude_tmux-1.2.0.tar.gz (1.3 MB view details)

Uploaded Source

Built Distribution

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

claude_tmux-1.2.0-py3-none-any.whl (1.4 MB view details)

Uploaded Python 3

File details

Details for the file claude_tmux-1.2.0.tar.gz.

File metadata

  • Download URL: claude_tmux-1.2.0.tar.gz
  • Upload date:
  • Size: 1.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"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 claude_tmux-1.2.0.tar.gz
Algorithm Hash digest
SHA256 810ae578bb92576f9db387b9b4b57d259ace8bc347e732bcca4448033cd2d14d
MD5 6b63d8424103194724e18e88f639d5cb
BLAKE2b-256 32cadf567d1e9017b7e4d33bbc647a38964e9e3c7004c59975a6f6e3cc446252

See more details on using hashes here.

File details

Details for the file claude_tmux-1.2.0-py3-none-any.whl.

File metadata

  • Download URL: claude_tmux-1.2.0-py3-none-any.whl
  • Upload date:
  • Size: 1.4 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"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 claude_tmux-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6ffc042a43dc055b257e17a5e1a0bff674f5437f7bc45c0e5010881793e2f6eb
MD5 3196cd7ad2c7cea44b7678e74284e8de
BLAKE2b-256 9b2af2a6c23bdcb86958e2e28045e82179cc3dfddc0f5cb2d12406d873616cad

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