Claude Code Multiplexer - Manage multiple Claude Code instances
Project description
ccmux
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.tomlfiles to add additional steps when spinning up worktrees, such as setting up untracked build dependencies
Installation
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
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 ccmux-0.2.0.tar.gz.
File metadata
- Download URL: ccmux-0.2.0.tar.gz
- Upload date:
- Size: 97.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7e739919b4c010952f0eb471b1617cfc10c6ed0173e23e7b2928f27ef9d93d37
|
|
| MD5 |
4173043e6bfb1acd9b08e5ef69d2cf68
|
|
| BLAKE2b-256 |
f0cd0c4d27ee24ddf5e5805ef52a63020fc884a1942405d8c5a711e5f3cfe75c
|
Provenance
The following attestation bundles were made for ccmux-0.2.0.tar.gz:
Publisher:
publish-to-pypi.yml on TheHumbleTransistor/ccmux
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ccmux-0.2.0.tar.gz -
Subject digest:
7e739919b4c010952f0eb471b1617cfc10c6ed0173e23e7b2928f27ef9d93d37 - Sigstore transparency entry: 990619646
- Sigstore integration time:
-
Permalink:
TheHumbleTransistor/ccmux@2e3cd57207d7a9ff150cd8082a067506176acc5b -
Branch / Tag:
refs/tags/0.2.0 - Owner: https://github.com/TheHumbleTransistor
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-to-pypi.yml@2e3cd57207d7a9ff150cd8082a067506176acc5b -
Trigger Event:
release
-
Statement type:
File details
Details for the file ccmux-0.2.0-py3-none-any.whl.
File metadata
- Download URL: ccmux-0.2.0-py3-none-any.whl
- Upload date:
- Size: 42.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d301f26349d36ff311bd833c50996bd0e55286ffa7e9533a9f2b6a077b67003f
|
|
| MD5 |
f63aa5889c95421b03f9a47eb87438bd
|
|
| BLAKE2b-256 |
6a18f799f10f80f25603e448a685f207387a32163317e90d4ec162b1b6c79f16
|
Provenance
The following attestation bundles were made for ccmux-0.2.0-py3-none-any.whl:
Publisher:
publish-to-pypi.yml on TheHumbleTransistor/ccmux
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ccmux-0.2.0-py3-none-any.whl -
Subject digest:
d301f26349d36ff311bd833c50996bd0e55286ffa7e9533a9f2b6a077b67003f - Sigstore transparency entry: 990619728
- Sigstore integration time:
-
Permalink:
TheHumbleTransistor/ccmux@2e3cd57207d7a9ff150cd8082a067506176acc5b -
Branch / Tag:
refs/tags/0.2.0 - Owner: https://github.com/TheHumbleTransistor
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-to-pypi.yml@2e3cd57207d7a9ff150cd8082a067506176acc5b -
Trigger Event:
release
-
Statement type: