reticle mcp is the command your agent runs. It is the MCP server the editor launches: a stdio proxy that bridges the client to the daemon’s SSE endpoint, starting a daemon first if the port is empty.
reticle init registers, so you rarely type it yourself.
Flags
The rule this command lives by
The proxy is the MCP server the editor launched. Nothing respawns it, so an uncaught throw here is what a user experiences as “the MCP server disconnected”. Seven behaviours follow from that:- Crash handlers write to the proxy’s own log file, not just stderr, because the editor swallows stderr.
- A daemon that is not there is not fatal. The proxy answers
initializeitself, serves the cached tool catalog, and retries a daemon on every client request. Present and complaining beats absent, because absent needs a human. - Reconnect is self-healing: if the daemon exited, crashed, was stopped, or shut itself down as idle, the reconnect path spawns a new one rather than retrying a dead port until the budget runs out.
- A wake resolves the port again. When another project’s daemon took the port after an idle exit, the proxy finds this project’s daemon where it moved, or starts one on a free port, and connects there.
- After an update, a proxy that meets an older daemon with no tab and no other agent attached stops it and starts the daemon of its own release. When a tab or another agent is attached, or the daemon is older than 3.6.0, the daemon stays and the proxy describes the version difference.
- A short drop of the link does not end your session. Each proxy sends a fixed id on every connect, so it keeps its identity, its leases and its tab. The daemon waits 10 seconds after the last agent detaches before it ends the browser sessions. A daemon that has served a tool call counts an agent that attached in the last 30 minutes as attached, so a client that starts a new proxy for each turn (Codex) does not wait for a cold start.
- A proxy with no client traffic and no work in flight exits after 24 hours, so abandoned editor sessions do not leave process pairs behind forever. Set
RETICLE_MCP_PROXY_IDLE_MS=0to disable that watcher, or set an explicit millisecond window.
What it prints
Structured JSON lines on stderr, never stdout, since stdout is the MCP transport. Most editors swallow stderr, so the idle exit and the crash handlers also write to the proxy log,~/.reticle/proxy-<port>.log.
Exit codes
Runs for the life of an active editor session. A fully quiet, abandoned link exits after the idle window above.Worked example
The tools this exposes
The full surface your agent gets once this is registered.