Skip to main content
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.
This is what 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 initialize itself, 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=0 to 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.
Last modified on October 25, 2026