Skip to main content
reticle restart is reticle kill followed by a daemon start that waits for a real bind.

Flags

The two halves are reported separately

A restart that killed the old daemon and then could not start a new one leaves you somewhere quite different from one that could not kill anything at all, and a single ok: false cannot tell you which happened. So each half prints its own line. Real capture, restarting over a running daemon:
Real capture, when the port is held by something that is not ours:
The start half is serve’s, which waits for the daemon to answer before claiming it started and exits non-zero when it does not. A restart never reports success for a daemon that never bound.

Exit codes

Worked example

Why not lsof

The pipeline everyone reaches for kills the agent’s own MCP proxy along with the daemon.
Last modified on August 15, 2026