Skip to main content

Claude Code Multiplexer - Manage multiple Claude Code instances

Project description

ccmux

ccmux demo

A streamlined terminal-UI for juggling concurrent Claude Code sessions.

Features

  • Visual sidebar — see all sessions at a glance; red highlights tell you instantly when Claude needs your attention
  • CLI session management — create, list, activate, remove sessions from the terminal
  • Git worktree isolation — spin up duplicate sessions on isolated branches; use ccmux.toml files to add additional steps when spinning up worktrees, such as setting up untracked build dependencies

Prerequisites

Before installing ccmux, make sure you have:

  1. tmux — terminal multiplexer

    # Ubuntu/Debian
    sudo apt install tmux
    # macOS
    brew install tmux
    
  2. Claude Code — Anthropic's CLI for Claude

    npm install -g @anthropic-ai/claude-code
    

    See Claude Code documentation for details.

Installation

# Recommended
pipx install ccmux

# Or, if you don't use pipx
pip install ccmux

Quick Start

ccmux             # auto-creates a session for the current directory or attaches to an existing one
ccmux new         # create a new session from the current directory's repo

Commands

Command Description
(default) Auto-attach to existing session or create one
new [NAME] Create a new session (add -w for worktree)
list List all sessions with status and branch info
attach Attach to the ccmux tmux session
activate [NAME] Reopen Claude Code in a session's tmux window
deactivate [NAME] Close tmux window (keeps session)
remove [NAME] Permanently delete a session
rename OLD NEW Rename a session
kill Kill entire ccmux session
which Print current session name (useful for scripting)
detach Detach from tmux

Worktree Configuration

Drop a ccmux.toml in your repo root to run commands after worktree creation:

[worktree]
post_create = [
    "ln -s $CCMUX_REPO_ROOT/node_modules $CCMUX_INSTANCE_PATH/node_modules",
    "cp $CCMUX_REPO_ROOT/.env $CCMUX_INSTANCE_PATH/.env",
]

Commands run inside the new worktree with these environment variables:

Variable Description
CCMUX_REPO_ROOT Absolute path to the main repository
CCMUX_INSTANCE_PATH Absolute path to the new worktree
CCMUX_INSTANCE_NAME Name of the new instance
CCMUX_SESSION ccmux tmux session name

Contributing

git clone git@github.com:TheHumbleTransistor/ccmux.git
cd ccmux
pip install -e ".[dev]"
pytest tests/ -v

PRs welcome — open an issue first for large changes.

License

MIT — see LICENSE

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

ccmux-0.6.0.tar.gz (164.1 kB view details)

Uploaded Source

Built Distribution

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

ccmux-0.6.0-py3-none-any.whl (54.3 kB view details)

Uploaded Python 3

File details

Details for the file ccmux-0.6.0.tar.gz.

File metadata

  • Download URL: ccmux-0.6.0.tar.gz
  • Upload date:
  • Size: 164.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ccmux-0.6.0.tar.gz
Algorithm Hash digest
SHA256 d7524cda2a8498d623ff01a6358a48bc2cf175dcbe3a3b8786c421c4e61165aa
MD5 c1a87b48f9f11b59715e4aba7e227be5
BLAKE2b-256 cb82a5c26fe2d27e53b09bb33cb144f68e2340b50320e840a1effa8dfb3ac272

See more details on using hashes here.

Provenance

The following attestation bundles were made for ccmux-0.6.0.tar.gz:

Publisher: publish-to-pypi.yml on TheHumbleTransistor/ccmux

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ccmux-0.6.0-py3-none-any.whl.

File metadata

  • Download URL: ccmux-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 54.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ccmux-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 28b63c8a155deb0ee01c40a849f61e5a4375277106708c0fa22454bdd868f7a8
MD5 6f94f83713a5c2be58a38eb6218adc96
BLAKE2b-256 40361c95e52c4442ae26d793f5c56dfdb30e549c7cae64fbcb37f9fea644a1c5

See more details on using hashes here.

Provenance

The following attestation bundles were made for ccmux-0.6.0-py3-none-any.whl:

Publisher: publish-to-pypi.yml on TheHumbleTransistor/ccmux

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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