Skip to main content

Terminal UI to navigate, resume, and start Claude Code sessions across all your projects

Project description

ccmgr — Claude Code session manager

A terminal UI to navigate, resume, and start Claude Code sessions across all your projects from one place. ccmgr lives in the left pane of a tmux window; the right pane shows the currently-active claude. Each claude session runs as its own detached tmux session in the background, so switching between sessions preserves all in-progress work — no responses or tool calls are interrupted.

Install

pip install ccmgr

Requires Python 3.12+ and tmux on PATH.

Run

ccmgr

If you're not already inside a tmux session, ccmgr will launch one automatically (tmux new-session -A -s ccmgr). The right pane shows the currently-active claude; each claude session also exists as a detached tmux session in the background. Switching sessions in ccmgr re-attaches the right pane to a different background claude.

Keys

Key Action
/ Move selection within the focused pane
Tab / Shift-Tab Switch focus between Projects and Sessions panes
Enter Resume or start the selected session — claude opens (or re-attaches) in the right pane
Ctrl-B then Move focus back to ccmgr from the right pane
Ctrl-B then Move focus to the claude pane
/ Filter the focused pane
i Popup with the focused session's details (title, project, msgs, tokens)
? Full help popup
q or Ctrl-C Quit (kills the right tmux pane + auto-launched tmux session)

In the right pane, keystrokes go directly to claude — full color, full TUI. Tasks keep running even when you switch the right pane to another session, because each claude lives in its own detached tmux session. Press Ctrl-B ← to return to ccmgr on the left.

How it works

ccmgr reads ~/.claude/projects/* (Claude's per-project session history) and lists everything. Pressing Enter on a session does two things: (1) if a detached tmux session named cc-<short_id> running claude --resume <id> doesn't already exist, ccmgr creates one with tmux new-session -d; (2) ccmgr's right pane runs tmux attach -t cc-<short_id> so you see and interact with that claude. Switching sessions just respawns the right pane to attach to a different background tmux session — the detached claudes keep running with all their state intact.

Roadmap

Planned for future releases:

  • Cross-session search across projects
  • Cost and token-usage dashboard
  • Mouse support
  • Renaming and closing individual sessions from within ccmgr

Issues and pull requests welcome.

Configuration

Optional config at ~/.config/ccmgr/config.toml:

[claude]
binary = "claude"

[live]
poll_interval_ms = 1000
live_badge_seconds = 60

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

ccmgr-0.1.3.tar.gz (25.6 kB view details)

Uploaded Source

Built Distribution

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

ccmgr-0.1.3-py3-none-any.whl (27.1 kB view details)

Uploaded Python 3

File details

Details for the file ccmgr-0.1.3.tar.gz.

File metadata

  • Download URL: ccmgr-0.1.3.tar.gz
  • Upload date:
  • Size: 25.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for ccmgr-0.1.3.tar.gz
Algorithm Hash digest
SHA256 649a02b9ab95df8bd1eb70f1807d8fd6e92e03ef68ea0efe77eed8259c34290c
MD5 9c3dae421c68ff7d15c1657a2c8f6464
BLAKE2b-256 5d2334d2ad9174747f84e3444dcd80246040e28fdbc51ee74cb4de812ef3272b

See more details on using hashes here.

File details

Details for the file ccmgr-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: ccmgr-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 27.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for ccmgr-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 8913a8775175ff373a1025e6235d2cf6c6e5b6f786677f2d3f7529fe1579ce08
MD5 767a56381c46eedfc8ecf528a28b32ef
BLAKE2b-256 b83dd645ad64a8afcf7ff57132c850b4eec18502ee803887bc751b8c10f49e97

See more details on using hashes here.

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