CLI commands
Daemon
openclaw daemon
Legacy alias for Gateway service management. openclaw daemon ... maps to the same service-control commands as openclaw gateway .... Prefer openclaw gateway for current docs and examples.
Usage
openclaw daemon statusopenclaw daemon installopenclaw daemon startopenclaw daemon stopopenclaw daemon restartopenclaw daemon uninstallSubcommands and options
| Subcommand | Options |
|---|---|
status |
--url, --port, --token, --password, --timeout, --no-probe, --require-rpc, --deep, --json |
install |
--port, --runtime <node|bun>, --token, --wrapper <path>, --force, --json |
uninstall |
--json |
start |
--json |
stop |
--force, --json, --disable (launchd only: suppress KeepAlive/RunAtLoad until next start) |
restart |
--force, --safe, --skip-deferral, --wait <duration>, --json |
--json is accepted before or after every subcommand (for example, daemon --json status and daemon status --json).
status: shows service install state (launchd/systemd/schtasks) and probes Gateway health.status --port <port>: selects a local Gateway using the invoking CLI config for auth and TLS. Cannot combine with--url. Native service details remain diagnostic-only.install: installs and starts the service.--forcereinstalls an existing install and may restart a running Gateway. Finish offline configuration and runtime repairs before installation.- Node is the primary, default, and recommended service runtime. Bun 1.4+ with WAL-reset-safe
node:sqliteis available as an explicit opt-in withinstall --runtime bun. restart --safe: asks the running Gateway to preflight active work and schedule one coalesced restart after work drains, bounded to 5 minutes. When that budget expires, the restart is forced anyway. Plainrestartnormally uses the service manager directly. On Windows, commands launched from a Gateway service automatically use the safe restart path. Explicit lifecycle controls retain their behavior.--forceis the immediate override.restart --safe --skip-deferral: bypasses only the active-work deferral gate. Shutdown may still wait for pending replies to drain before the Gateway process exits. Requires--safe.
Notes
statusresolves configured auth SecretRefs for probe auth when possible. If a required SecretRef is unresolved,status --jsonreportsrpc.authWarning. Pass--token/--passwordexplicitly, or resolve the secret source first. Unresolved-auth warnings are suppressed once the probe otherwise succeeds.status --deepadds a best-effort system-level scan for other gateway-like services. The scan prints cleanup hints. One Gateway per machine is still the recommendation.status --deepalso runs config validation in plugin-aware mode. That mode surfaces plugin manifest warnings that the fast default path skips.- On Linux systemd installs, token-drift checks inspect both
Environment=andEnvironmentFile=unit sources. - Token-drift checks resolve
gateway.auth.tokenSecretRefs using merged runtime env (service command env first, then process env). If token auth is not effectively active (gateway.auth.modeofpassword/none/trusted-proxy, or unset with password able to win), config token resolution is skipped. installvalidates that a SecretRef-managedgateway.auth.tokenis resolvable. It never persists the resolved value into service environment metadata. If it cannot resolve the token,installfails closed.- If both
gateway.auth.tokenandgateway.auth.passwordare configured andgateway.auth.modeis unset,installblocks until you set the mode explicitly. - On macOS,
installwrites LaunchAgent plists with mode0644. Secrets stay in the generated owner-only environment file (0600), loaded through an owner-only wrapper (0700). - Running multiple Gateways on one host: isolate ports, config/state, and workspaces. See Multiple gateways.
Related
Was this useful?