Persistent Claude Code session management — create, chat, list, pause, delete
Server provides 6 tools with documented schemas and descriptions. Tool naming follows verb_noun convention (create_session, list_sessions, get_session, delete_session, pause_session, send_message). Descriptions are present but many lack depth about when to use tools or prerequisites. Parameter descriptions exist but could be more detailed about constraints and dependencies. No error handling guidance visible in tool definitions. Output schemas are not documented in the provided code. Missing context about idempotency, destructiveness, and multi-step workflows.
Create a new persistent Claude Code session for an account
Delete a session and all its conversation history
Get session details with recent conversation history
List all sessions, optionally filtered by status or account
Pause a running session and stop its Claude Code process
Send a message to a session and get the AI response
Output schemas not documented. create_session, list_sessions, get_session, send_message return undocumented structures. LLMs cannot plan downstream calls or extract required fields without knowing what the response contains.
No error handling guidance or recovery instructions in tool descriptions. If a session is not found, or a message fails to send, LLMs have no hint what to do next.
delete_session description does not explicitly state it is destructive. Per pattern:command-tool, destructive tools must declare consequences so agents know calls are irreversible.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 60 | 2026-07-28+ | v2 |
| 2026-03-09 | D | 59 | - | v1 |
Descriptions lack guidance on when to call each tool vs similar tools. 'List all sessions, optionally filtered' doesn't explain when to use list_sessions vs get_session, or how to choose between them.
Parameter 'permission_mode' in create_session and send_message has no enum constraint or description of valid values. Description says 'e.g. plan, auto-edit', this invites hallucinated values outside the set.
No documentation of parameter relationships. For example, if 'message_count' defaults to 5 but can be 1 - 100, this constraint is not stated in get_session parameter description.
send_message allows 'permission_mode' and 'model' overrides without documenting idempotency, conflict resolution, or whether repeated identical calls produce duplicate messages or are deduplicated.