claude-session-manager
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| CCSM_HOME | No | Base directory for ccsm state, config, runs, worktrees and secrets. The directory is created with mode 0700 and files with umask 077. | ~/.ccsm |
| CCSM_CONFIG | No | Path to the configuration file used instead of $CCSM_HOME/config.toml. | <CCSM_HOME>/config.toml |
| CCSM_CLAUDE_BIN | No | Path to the claude CLI binary (overrides the [claude] binary setting in config.toml). | |
| CCSM_ALLOW_BYPASS | No | Set to "1" to allow bypassPermissions runs (otherwise refused unless enabled in config). | false |
| CCSM_WAKE_PRIMARY | No | Primary wake-up mechanism, e.g. "waiter" or "webhook" (overrides [wake].primary). | |
| CCSM_WEBHOOK_ENABLED | No | Set to "1" to enable the outbound webhook wake-up path. | false |
| CCSM_WEBHOOK_KEY_<NAME> | No | Webhook sender key for the named bot/profile, used instead of the stored webhook secrets file. | |
| CCSM_WEBHOOK_URL_<NAME> | No | Webhook URL for the named bot/profile, used instead of the stored webhook secrets file. | |
| CCSM_CLAUDE_PROJECTS_DIR | No | Directory containing Claude Code project transcripts. | |
| CCSM_CLAUDE_SESSIONS_DIR | No | Directory containing Claude Code session registry files (*.json). |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| session_startA | Start a new headless Claude Code run (or queue it). Returns run_id and a wait_cmd to run in a background Shell. Default mode is read-only; edit mode uses a git worktree unless isolation='none'. |
| session_listB | List runs (newest first) with totals. include_external adds cc-tagged runs and other local Claude sessions found on disk. Also reconciles state and starts queued runs. |
| session_statusB | Detailed status of one run: counters, tokens, last tool, budget, last text (untrusted). |
| session_tailC | Condensed recent events for a run (each ≤300 chars, untrusted). Pass next_seq back as since_seq. |
| session_resultB | Final result of a run (bounded): status, cost, turns, worktree diffstat, and the answer text under
|
| session_sendB | Follow up on an existing session (claude --resume). If the session is busy: reject (default), queue, or fork (new session id). Returns a new run_id and wait_cmd. |
| session_stopB | Stop a run (graceful: SIGINT, then SIGTERM, then SIGKILL) or remove it from the queue. |
| session_waitA | Short long-poll (≤50 s) until the run is terminal (or needs attention). For long runs use the Shell wait_cmd instead. |
| session_ackB | Mark finished runs as seen (clears needs_attention). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 9 tools
Each tool has a distinct lifecycle role: start vs send, stop vs ack, and list vs status vs tail vs result vs wait are differentiated in the descriptions. The main potential confusion is among the read-oriented tools (status, result, tail, wait), but the wording makes their boundaries reasonably clear.
All nine tools use the same session_<verb> convention, with clear and predictable verbs. There are no mixed casing or naming style deviations.
Nine tools is a well-scoped set for a session manager, covering creation, observation, follow-up, stopping, and acknowledgment. No tool appears redundant or out of place.
The set covers the core session lifecycle: start, list, status, tail, result, follow-up, stop, wait, and ack. Minor gaps exist around full transcript access or explicit history cleanup/deletion, but agents can work around these for typical session management.