Workspace root for claude-tmux CLI and plugin
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
# With uv (recommended)
uv tool install claude-tmux
# Or with pip
pip install claude-tmux
# Run guided setup to install the Claude Code plugin
claude-tmux setup
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.
Guided Setup (Recommended)
claude-tmux setup
This command:
- Checks prerequisites (tmux, claude, git, Python 3.12+)
- Installs the plugin to Claude Code
- Configures tmux key bindings (optional)
- Installs MCP server globally (optional)
- Builds macOS desktop notifier (optional, macOS only)
- 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file claude_tmux_workspace-0.6.0.tar.gz.
File metadata
- Download URL: claude_tmux_workspace-0.6.0.tar.gz
- Upload date:
- Size: 109.8 kB
- 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d5bf3301555a7a70cc13da8d36ab07786e2964cbcd342c25b35fbe01cc0d3591
|
|
| MD5 |
fc09dae197cb8a3665b052eeda511e87
|
|
| BLAKE2b-256 |
8932b392bfe764a7332695a4f3b3d73d0acc390f58d4cfaa15243b3d18f50fc7
|
File details
Details for the file claude_tmux_workspace-0.6.0-py3-none-any.whl.
File metadata
- Download URL: claude_tmux_workspace-0.6.0-py3-none-any.whl
- Upload date:
- Size: 125.5 kB
- 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5a18199544a015e30b26b93d8d97d9ff0d9695b18a74e58aaef76d4a7e8f01e9
|
|
| MD5 |
6574f3368d917f7a45232955fcf57eda
|
|
| BLAKE2b-256 |
3258bf6226ff5c2ecb270cc93fc01aa76d751e7e9f3a111c9b350039f257d020
|