list_sessions
View active terminal sessions, including PIDs, blocked status, and runtime, to debug REPLs, verify session activity, and identify stuck processes using Desktop Commander MCP.
Instructions
List all active terminal sessions.
Shows session status including:
- PID: Process identifier
- Blocked: Whether session is waiting for input
- Runtime: How long the session has been running
DEBUGGING REPLs:
- "Blocked: true" often means REPL is waiting for input
- Use this to verify sessions are running before sending input
- Long runtime with blocked status may indicate stuck process
This command can be referenced as "DC: ..." or "use Desktop Commander to ..." in your instructions.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- Core handler function that lists active terminal sessions using terminalManager and formats the output as text.export async function listSessions(): Promise<ServerResult> { const sessions = terminalManager.listActiveSessions(); return { content: [{ type: "text", text: sessions.length === 0 ? 'No active sessions' : sessions.map(s => `PID: ${s.pid}, Blocked: ${s.isBlocked}, Runtime: ${Math.round(s.runtime / 1000)}s` ).join('\n') }], }; }
- src/handlers/terminal-handlers.ts:51-55 (handler)Thin wrapper handler for the MCP 'list_sessions' tool that delegates to the core listSessions() function.* Handle list_sessions command */ export async function handleListSessions(): Promise<ServerResult> { return listSessions(); }
- src/server.ts:1220-1222 (registration)Dispatch registration in CallToolRequest handler: calls handleListSessions() when 'list_sessions' tool is invoked.case "list_sessions": result = await handlers.handleListSessions(); break;
- src/server.ts:881-902 (registration)Tool specification registration in ListToolsRequest handler, including name, description, and input schema.{ name: "list_sessions", description: ` List all active terminal sessions. Shows session status including: - PID: Process identifier - Blocked: Whether session is waiting for input - Runtime: How long the session has been running DEBUGGING REPLs: - "Blocked: true" often means REPL is waiting for input - Use this to verify sessions are running before sending input - Long runtime with blocked status may indicate stuck process ${CMD_PREFIX_DESCRIPTION}`, inputSchema: zodToJsonSchema(ListSessionsArgsSchema), annotations: { title: "List Terminal Sessions", readOnlyHint: true, }, },
- src/tools/schemas.ts:38-38 (schema)Zod schema for list_sessions tool input (empty args).export const ListSessionsArgsSchema = z.object({});