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, terminate, and delete Claude Code sessions across all projects
- Remote Control Tab — Start/stop RC servers per project, toggle auto-start, show running/stopped/dead states
- Cleanup Tab — Prune empty/short sessions, sweep orphan artifact directories
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 --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 |
XDG_CONFIG_HOME |
~/.config |
Config directory base |
RC auto-start list is stored at $XDG_CONFIG_HOME/csctl/rc-enabled.
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cc_session_control-0.5.0.tar.gz.
File metadata
- Download URL: cc_session_control-0.5.0.tar.gz
- Upload date:
- Size: 97.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
604f36b964f952479800e9df9c18651fa54b982c4335063f840a39ab41824951
|
|
| MD5 |
11e7d6b9f456d9b870d6541609d0595f
|
|
| BLAKE2b-256 |
fcc16d655123c290cd5a6fc1f32f4ceae2dc6ce68f04404768638efd5707873b
|
Provenance
The following attestation bundles were made for cc_session_control-0.5.0.tar.gz:
Publisher:
release.yml on dzshzx/cc-session-control
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cc_session_control-0.5.0.tar.gz -
Subject digest:
604f36b964f952479800e9df9c18651fa54b982c4335063f840a39ab41824951 - Sigstore transparency entry: 2045963388
- Sigstore integration time:
-
Permalink:
dzshzx/cc-session-control@7fc3993fa10768805a35c3a6e3ce131917f034aa -
Branch / Tag:
refs/tags/v0.5.0 - Owner: https://github.com/dzshzx
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@7fc3993fa10768805a35c3a6e3ce131917f034aa -
Trigger Event:
push
-
Statement type:
File details
Details for the file cc_session_control-0.5.0-py3-none-any.whl.
File metadata
- Download URL: cc_session_control-0.5.0-py3-none-any.whl
- Upload date:
- Size: 75.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ed3cbcf0cc75b10e0b683dd49fa069e986fad0eaa4ac81cb7722e89c8b796cd2
|
|
| MD5 |
26dd653fa9e4e617c7c1f802b49d340a
|
|
| BLAKE2b-256 |
62341ae969906dd858da2e87c67b43b2a42f98d63774c3531ddbfb64291a5e0b
|
Provenance
The following attestation bundles were made for cc_session_control-0.5.0-py3-none-any.whl:
Publisher:
release.yml on dzshzx/cc-session-control
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cc_session_control-0.5.0-py3-none-any.whl -
Subject digest:
ed3cbcf0cc75b10e0b683dd49fa069e986fad0eaa4ac81cb7722e89c8b796cd2 - Sigstore transparency entry: 2045963565
- Sigstore integration time:
-
Permalink:
dzshzx/cc-session-control@7fc3993fa10768805a35c3a6e3ce131917f034aa -
Branch / Tag:
refs/tags/v0.5.0 - Owner: https://github.com/dzshzx
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@7fc3993fa10768805a35c3a6e3ce131917f034aa -
Trigger Event:
push
-
Statement type: