delete_session
Remove a specific session from the Claude session manager by moving it to a backup folder for potential recovery.
Instructions
Delete a session (moves to .bak folder for recovery)
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| project_name | Yes | Project folder name | |
| session_id | Yes | Session ID to delete |
Implementation Reference
- Core handler function that implements the delete_session tool logic: locates the session JSONL file, deletes it if empty, or moves it to a .bak backup directory.def delete_session(project_name: str, session_id: str) -> bool: """Delete a session (move to .bak folder, or delete if empty).""" base_path = get_base_path() project_path = base_path / project_name jsonl_file = project_path / f"{session_id}.jsonl" if not jsonl_file.exists(): return False # If file is empty (0 bytes), just delete it without backing up if jsonl_file.stat().st_size == 0: jsonl_file.unlink() return True backup_dir = base_path / ".bak" backup_dir.mkdir(exist_ok=True) backup_file = backup_dir / f"{project_name}_{session_id}.jsonl" jsonl_file.rename(backup_file) return True
- MCP call_tool dispatcher branch that handles the 'delete_session' tool invocation by extracting parameters and calling the core delete_session function.elif name == "delete_session": project_name = arguments.get("project_name", "") session_id = arguments.get("session_id", "") success = delete_session(project_name, session_id) result = {"success": success, "message": "Session deleted (backed up to .bak)" if success else "Failed to delete session"}
- src/claude_session_manager_mcp/server.py:580-597 (registration)Registers the 'delete_session' tool with the MCP server via @mcp.list_tools(), defining its name, description, and input schema.Tool( name="delete_session", description="Delete a session (moves to .bak folder for recovery)", inputSchema={ "type": "object", "properties": { "project_name": { "type": "string", "description": "Project folder name" }, "session_id": { "type": "string", "description": "Session ID to delete" } }, "required": ["project_name", "session_id"] } ),
- JSON schema defining the input parameters for the delete_session tool: required project_name and session_id strings.inputSchema={ "type": "object", "properties": { "project_name": { "type": "string", "description": "Project folder name" }, "session_id": { "type": "string", "description": "Session ID to delete" } }, "required": ["project_name", "session_id"] }