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 Cycle focus through the Projects, Sessions, and Running panes (focused pane gets a bright cyan border)
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.5.tar.gz (28.0 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.5-py3-none-any.whl (29.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ccmgr-0.1.5.tar.gz
  • Upload date:
  • Size: 28.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ccmgr-0.1.5.tar.gz
Algorithm Hash digest
SHA256 0dcada5a88fef5b73967beaf052f2fecaa54743b8fd2ff8879bf36d157ff89d7
MD5 efab79f066d9831987e31342880f7ef0
BLAKE2b-256 3aabde995a312ea9521b8df08dfb3ba31b884924abdece118eae730d06dd130b

See more details on using hashes here.

Provenance

The following attestation bundles were made for ccmgr-0.1.5.tar.gz:

Publisher: release.yml on regmi-saugat/ccmgr

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

File details

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

File metadata

  • Download URL: ccmgr-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 29.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ccmgr-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 e355f02ca3f546c6ba88ee7e906cf6a6d769565a934e934f0c93fe5f543b1119
MD5 5be93de250aa9fe3b5e8982ea3495770
BLAKE2b-256 8906cf51db21b075e2d587bb0fc6adf9d0d898499b459b4e33544b17f03190a2

See more details on using hashes here.

Provenance

The following attestation bundles were made for ccmgr-0.1.5-py3-none-any.whl:

Publisher: release.yml on regmi-saugat/ccmgr

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