Last verified: Jul 31, 2026 · OpenClaw 2026.7.1-2
OpenClaw is a self-hosted, multi-channel AI agent gateway (Node.js/TypeScript, MIT). Unlike Hermes (Python, where you hand-write a systemd unit), OpenClaw self-manages its own gateway service — one command installs the systemd unit for you. This guide was verified against a live instance running OpenClaw’s gateway.
1. Install (npm global)
OpenClaw is an npm package. With Node.js 20+ available:
npm install -g openclaw
Verify:
openclaw --version
The binary lands in your npm global bin (e.g. ~/.local/bin/openclaw). Make sure that’s on your PATH.
2. Configure
Interactive setup — credentials, channels, gateway, and agent defaults:
openclaw configure
For the interactive setup-and-repair assistant:
openclaw crestodian
Config lives at ~/.openclaw/openclaw.json with secrets in ~/.openclaw/.env. Validate it non-interactively:
openclaw config validate
3. Install + start the gateway as a service
OpenClaw installs its own systemd user service (launchd on macOS, schtasks on Windows) — you don’t write the unit yourself:
openclaw gateway install # install the systemd user service
openclaw gateway start # start it
openclaw gateway status # check it's running
On Linux/WSL2 this creates openclaw-gateway.service under ~/.config/systemd/user/. To have it start at login without an active session, enable lingering:
loginctl enable-linger $USER
If you’d rather run it in the foreground (no service), use openclaw gateway run instead.
4. Add a channel
Add and log into messaging channels:
openclaw channels # list / add / login / inspect channels
Then send a message on a configured channel — the gateway routes it to the agent.
A real version-lag caveat (verified 2026-07-31)
On the instance this guide was verified against, npm ls -g reported openclaw@2026.6.8, but the config was written by 2026.7.1-2. OpenClaw itself flags this on every CLI run:
Your OpenClaw config was written by version 2026.7.1-2, but this command is running 2026.6.8. … update PATH so
openclawpoints to the version you want, or reinstall the Gateway service from that same OpenClaw install.
What this means: the npm-global binary and the config/state version can drift apart — for example if you npm i -g openclaw (getting the published package) while a newer dev or git build had written your config. To reconcile, point openclaw at the version you want (update PATH / your node version manager), then openclaw gateway uninstall && openclaw gateway install to reinstall the service from that same install. Run openclaw gateway status --deep to confirm the service and version agree.
Worth knowing before you assume the gateway “forgot” your config — it usually hasn’t; the CLI just lagged.
Sources + freshness
Commands follow the official OpenClaw docs (gateway CLI, openclaw/openclaw). The npm-global install path, the openclaw gateway install service-install flow, and the version-lag caveat were verified against a live instance on 2026-07-31 (OpenClaw 2026.7.1-2). OpenClaw moves fast — re-check the package version and docs before deploying.