Skip to content

Getting started

Installation

Prerequisites

  • tmux with active sessions running AI coding agents
  • git 2.31 or newer (for branch and worktree detection; ccmux still works without it, just without that info)

Homebrew

Terminal window
brew install epilande/tap/ccmux
ccmux setup

From Source

Requires Bun.

Terminal window
git clone https://github.com/epilande/ccmux.git
cd ccmux
bun install
bun link
ccmux setup

ccmux setup installs agent hooks for authoritative session matching. ccmux works without it, but it’s recommended; see Session Matching with Hooks. Bare ccmux setup only configures agents whose executable is found on PATH; use ccmux setup --agent <name> to install for a specific agent even if it isn’t detected.

Shell Completions

ccmux completion <shell> prints a completion script for zsh, bash, or fish. It completes commands and flags, and asks the running daemon for live values: session ids and %pane ids wherever a command takes one, agent names, invocation ids, config keys and their values. Directory flags such as --cwd fall through to the shell’s own path completion.

Terminal window
# zsh (~/.zshrc, after compinit)
eval "$(ccmux completion zsh)"
# bash (~/.bashrc)
eval "$(ccmux completion bash)"
# fish
ccmux completion fish > ~/.config/fish/completions/ccmux.fish

The zsh eval has to come after compinit, since the script registers itself with compdef. A file in fpath sidesteps that and avoids running ccmux at every shell start: ccmux completion zsh > ~/.zfunc/_ccmux with fpath=(~/.zfunc $fpath) before compinit. The Homebrew formula installs completions for all three shells.

Quick Start

  1. Start your AI coding sessions in tmux panes as usual
  2. Launch the picker:
    Terminal window
    ccmux
  3. Navigate with j/k, press Enter to switch to a session