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.1.0.tar.gz (1.2 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.1.0-py3-none-any.whl (1.3 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: claude_tmux-1.1.0.tar.gz
  • Upload date:
  • Size: 1.2 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.1.0.tar.gz
Algorithm Hash digest
SHA256 4f017f246c3b836f23aeb02c4c36aeb729f7c0e7af0a9c4d0175d600e277f4e4
MD5 f2f7e5529fbdbe18fe000f713988c9d6
BLAKE2b-256 480d38f9f5bfe5aeb75f4e374d6d637be6f63050a839f1e5435fd67b6784639c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: claude_tmux-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 1.3 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.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 aca994de45c3c83f43216052c86128ae67c8429efcd39f90ff67fa935088201a
MD5 cee5ddc1e8f1e1c43bcfdab200158816
BLAKE2b-256 6aabfcc3387c1349978bd896b58137ab6587a1818f97de91122580e9bdc32bc7

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