Windows desktop app for managing AI coding CLI sessions (Copilot, OpenCode, Codex, Claude, Antigravity)
SessionHub exposes 10 tools with minimal schema rigor. All tools lack input parameter type definitions in visible schemas, only parameter names and descriptions are present. No output schemas are documented. Descriptions exist but are brief (avg ~80 chars) and lack actionable context for LLM selection. Tool names are reasonably clear (verb_noun pattern: check_*, focus_*, show_*, open_*, resume_*, get_*, read_*, write_*), but parameter descriptions are sparse and do not explain constraints, formats, or dependencies. No error handling guidance, no pagination support, no idempotency markers. The codebase shows React/Tauri UI integration but does not expose MCP protocol definitions, tool definitions appear inferred from UI code rather than formally registered.
Check if jq command-line JSON processor is available
Check availability of various AI coding CLI tools (copilot, opencode, claude, codex, gemini, vscode, herdr)
Focus the terminal window associated with a session, supporting both herdr and Windows native terminal
Scan and retrieve project plans (sisyphus data) from a project directory
Scan and retrieve OpenSpec specifications from a project directory
Open a project directory in a specified tool (terminal, opencode, claude, codex, copilot, vscode, gemini, or explorer)
Read the contents of an OpenSpec file from a project
No input parameter type definitions visible. All 10 tools declare parameters with names and descriptions only; JSON Schema type fields (string, number, boolean, object, array) are absent or not exposed. This violates the constrained-input pattern and forces LLMs to guess parameter types.
No output schemas documented. Tools return unstructured responses with no declared field types or structure. LLMs cannot plan downstream calls or extract specific fields reliably.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 38 | 2026-07-28+ | v2 |
Resume an AI coding session in a terminal with the appropriate provider command
Show and focus the main application window, optionally navigating to a specific view
Write contents to an OpenSpec file in a project
Parameter descriptions lack actionable constraints. E.g., 'tool_type' in open_in_tool lists valid values in description ('terminal, opencode, claude...') but does not declare them as an enum. 'provider' in resume_session_in_terminal similarly lacks enum constraint. Free-form strings invite hallucinated values.
No error handling guidance. Tools do not document what errors can occur, whether they are retryable, or what the LLM should do next. E.g., focus_terminal_window may fail if the session key is invalid, but no recovery path is documented.
Tool definitions appear inferred from UI code (src/App.tsx) rather than formally registered via MCP protocol. No explicit MCP server implementation visible in source. This suggests tools are not actually exposed as MCP tools but rather as internal UI functions.