Skip to main content

TUI manager for Claude Code sessions and Remote Control

Project description

cc-session-control

TUI manager for Claude Code sessions and Remote Control.

CLI command: csctl

Features

  • Sessions Tab — View, resume (tmux-first: Enter resumes into the per-project tmux window; t bare-terminal fallback; R backgrounds into tmux; ⧉ marks tmux-resident sessions), terminate, and delete Claude Code sessions across all projects; a cleanup submenu (c) prunes empty/short sessions and sweeps orphan artifact directories
  • Projects Tab — The startup tab: start a new tmux claude session in a project dir (Enter), start/stop RC servers per project (o/s), toggle auto-start, show running/stopped/dead states
  • Background agents Tab — List background agent jobs; take over, respawn, watch their timeline, stop, or remove them

Built with urwid.

UI language: Simplified Chinese (notifications and status text). CLI output is in English.

Requirements

  • Python 3.12+
  • Claude Code CLI installed and authenticated
  • tmux (for Remote Control management)
  • Linux / WSL (macOS support is partial — /proc-based liveness detection is Linux-only)

Installation

Install the latest published release:

uv tool install cc-session-control
# or
pipx install cc-session-control

Upgrade later with uv tool upgrade cc-session-control (or pipx upgrade cc-session-control).

Latest master build

To try the newest master before it is released, install from GitHub:

uv tool install --reinstall git+https://github.com/dzshzx/cc-session-control.git

csctl manages the Claude Code state on the machine where it is installed: the local ~/.claude, local tmux, and local workspace. Install it separately on each machine whose sessions you want to manage. For working on the code instead of using it, see CONTRIBUTING.md.

Usage

# Open TUI
csctl

# Remote Control management (no TUI)
csctl rc status          # Show all projects and RC status
csctl rc add .           # Add current project to RC list and start
csctl rc add myproject   # Add by name
csctl rc rm myproject    # Remove and stop
csctl rc up              # Start all listed projects
csctl rc stop all        # Stop all RC servers
csctl rc list            # Show auto-start list

# Session cleanup
csctl prune                          # Dry run: show stats
csctl prune --max-prompts 1 --apply  # Delete sessions with ≤1 prompt

# Resume rescue (headless): list sessions across directories with
# ready-to-copy resume commands (native /resume only searches the cwd
# and hides sdk-ts/bridge sessions)
csctl resume                 # Page 1, 20 per page
csctl resume mybug           # Keyword: sid/cwd/title, then transcript body
csctl resume --page 2        # Next page
csctl resume --all           # Everything, no paging

# Bundled Claude Code skill (session-doctor knowledge for the agent)
csctl skill install          # Write SKILL.md to ~/.claude/skills/
csctl skill install --force  # Replace an existing skill directory
csctl skill uninstall

# Options
csctl --workspace ~/projects   # Override workspace root
csctl --theme light            # Force the TUI palette (auto/dark/light)
csctl --version

Configuration

Environment Variable Default Description
CSCTL_WORKSPACE ~/workspace Workspace root directory
CSCTL_RC_SESSION rc tmux session name for RC servers
CSCTL_RC_STAGGER 2 Seconds between starting RC servers
CSCTL_THEME auto TUI palette: auto (detect the terminal background via OSC 11 / $COLORFGBG) / dark / light. tmux typically doesn't answer the OSC 11 query, so inside tmux auto falls back to dark — set this (or --theme) explicitly for a light terminal
XDG_CONFIG_HOME ~/.config Config directory base

RC auto-start list is stored at $XDG_CONFIG_HOME/csctl/rc-enabled.

License

MIT

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

cc_session_control-0.7.2.tar.gz (128.7 kB view details)

Uploaded Source

Built Distribution

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

cc_session_control-0.7.2-py3-none-any.whl (99.3 kB view details)

Uploaded Python 3

File details

Details for the file cc_session_control-0.7.2.tar.gz.

File metadata

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

File hashes

Hashes for cc_session_control-0.7.2.tar.gz
Algorithm Hash digest
SHA256 7760c90a14690c0add53b6f0e5ba6f87fcc4b7c343649128ca29cb0e0a8f0b58
MD5 9d42733e920225f81728f39d62c03a22
BLAKE2b-256 b8bd34d7e44b7c07ee3d3515ce530d7a4ad98a945f7fc4e8357c591e01ec5bb9

See more details on using hashes here.

Provenance

The following attestation bundles were made for cc_session_control-0.7.2.tar.gz:

Publisher: release.yml on dzshzx/cc-session-control

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

File details

Details for the file cc_session_control-0.7.2-py3-none-any.whl.

File metadata

File hashes

Hashes for cc_session_control-0.7.2-py3-none-any.whl
Algorithm Hash digest
SHA256 22554ae0e5fac6044b125c865bbd1e03474b08e9bb43c80b046abf20dd2a40e7
MD5 8e91cb1e9f71edefa20647cf31f34814
BLAKE2b-256 7a08b0b348a19cb133a64d8e1b21dcb4c7d9ddc16ea05977ac0093ab86e7cfec

See more details on using hashes here.

Provenance

The following attestation bundles were made for cc_session_control-0.7.2-py3-none-any.whl:

Publisher: release.yml on dzshzx/cc-session-control

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