Skip to Content
EnglishFeatures

Features

Pane Management

Split your terminal into multiple independent panes, each running its own PTY shell.

  • Ctrl+D — Split vertically (left/right)
  • Ctrl+E — Split horizontally (top/bottom)
  • Ctrl+W — Close the focused pane
  • Mouse drag on pane borders to resize

Panes can be nested: split a pane, then split one of the halves again. Up to 16 panes.

Minimum pane size is enforced (20 columns wide, 5 rows tall). If a split would create panes too small, the operation is silently ignored.

Tabs

Each tab is an independent workspace with its own panes, file tree, and preview.

  • Alt+T / Ctrl+T — New tab
  • Click a tab to switch
  • Double-click a tab to rename
  • Alt+R — Rename tab (session only; submit empty to reset to auto name)
  • Ctrl+W — Close tab (when only one pane in the tab)

The tab name automatically updates when you cd to a different directory. A custom name takes precedence over the auto-derived name.

Status Bar

The status bar at the bottom shows available shortcuts for the current mode. The right side displays Claude Code model name, context usage, and other session info.

  • Alt+S — Toggle status bar visibility (reclaims 1 row for panes)

File Tree

A sidebar showing your project’s file structure.

  • Ctrl+F — Toggle the file tree
  • j/k — Navigate up/down
  • Enter — Expand directory / open file preview
  • . — Toggle hidden files (.git is always hidden)
  • Mouse click — Select entry
  • Mouse scroll — Scroll the tree
  • Drag the right border to resize

File icons

Files are shown with language-specific icons:

IconExtensions
🦀.rs
.js, .ts, .jsx, .tsx
🐍.py
📄.md
{.json
.toml
$.sh, .bash, .zsh

Syntax-Highlighted Preview

Select a file in the file tree to see its contents with syntax highlighting.

  • Powered by syntect  (base16-eighties theme)
  • Line numbers with separator
  • Scroll vertically with mouse wheel, j/k, or PageUp/PageDown
  • Scroll horizontally with h/l, Left/Right, or Home (for long lines)
  • Line position indicator at the bottom (42/156)
  • Ctrl+W to close preview (when preview is focused)
  • Ctrl+P to swap preview and terminal positions

Files larger than 10MB are not previewed. Binary files show a placeholder message.

Claude Detection

When you run claude (Claude Code) inside a terminal pane, ccmux automatically detects it:

  • Pane border turns orange (Claude’s brand color #D97757)
  • Pane title changes from shell [N] to claude [N]

Detection works by monitoring the terminal’s window title (OSC 0/2 escape sequences).

cd Tracking

When you cd to a different directory in the shell:

  • File tree updates to show the new directory
  • Tab name updates to the new directory name

This is powered by OSC 7 (operating system command for current directory reporting), injected via PROMPT_COMMAND.

Text Selection & Copy

  • Mouse drag in a terminal pane to select text (highlighted in blue)
  • Text is automatically copied to clipboard when you release the mouse
  • Click anywhere to clear selection
  • Selection stays within a single pane

Terminal Scrollback

Each pane stores 10,000 lines of history.

  • Mouse scroll up in a pane to browse history
  • ↑ SCROLL indicator appears at the bottom of the pane
  • Any key press automatically scrolls back to the latest output

Mouse Support

ActionEffect
Click paneFocus that pane
Click tabSwitch tab
Click +New tab
Drag panel borderResize (file tree, preview, or between panes)
Scroll in file treeScroll entries
Scroll in previewScroll file content
Scroll in paneBrowse terminal history
Drag in paneText selection → clipboard

Small Terminal Handling

  • If the terminal is smaller than 40×10, a “Terminal too small” message is shown
  • Panels auto-hide when the terminal is too narrow to fit them
Last updated on