# ADR 0001: Single Binary CLI And Daemon ## Status Accepted. ## Decision The project ships one executable: `geth`. It has daemon mode with `geth daemon run` and control mode through commands such as `geth status`. Control commands use a local Unix socket. There are no separate `gethd` or `gethctl` binaries. The same binary also owns daemon service installation through `geth daemon service ...`. Service installation targets user service managers: systemd user units on Linux, launchd user agents on macOS, and per-user scheduled tasks on Windows. ## Consequences Packaging and user mental model stay simple. The daemon remains the owner of identity, Iroh endpoint state, resources, and synchronized data structures. The bootstrap avoids privileged system service installation.