# Claude connector Built-in Theseus extension: a local MCP server through which Claude Code or Claude Desktop works in the user's tabs. Setup and safety model are in the Theseus README ("Claude connector (MCP)") and DESIGN-claude-connector.md. | file | role | | --- | --- | | `index.js` | activation, settings (add-on store), server start/stop, panel messages | | `lib/mcp-server.cjs` | Streamable HTTP + JSON-RPC, token, Host/Origin guards, sessions, SSE presence | | `lib/tools.cjs` | tool definitions and handlers; resolves tabs through `api.tabControl` | | `lib/tab-driver.cjs` | one tab over its own `webContents.debugger` (CDP 1.3) | | `lib/policy.cjs` | site approvals, upload-folder checks, password-field detection | | `lib/clipboard.cjs` | put / save / restore the system clipboard around a paste | | `lib/clients.cjs` | "Connect": registers the connector with Claude Code (its CLI, user scope) and Claude Desktop (its config file), reports status, re-registers after token/port changes | | `lib/action-log.cjs` | timestamped action log (panel + `actions.log`) | | `panel.html` | the sidebar panel | | `stdio-shim.cjs` | stdio ⇄ HTTP relay for Claude Desktop, run by Theseus in Node mode | Stored in `/extensions-data/claude-connector.json` (token, port, switches, approved origins, upload folders) and `/extensions-data/claude-connector/` (`endpoint.json` while listening, `actions.log`). Needs the host's `tab-control` capability, which only built-in add-ons get. Turning any extension on or off restarts every add-on, this one included, which ends the connected clients' sessions. A client that does not start a new session by itself reconnects from its MCP menu (`/mcp` in Claude Code).