Adapted community discussion: Paraphrased and condensed from an anonymized public OpenClaw Discord support conversation from September 2026. Technical guidance was reviewed for OpenClaw 2026.9.3.
After an update on my Linux box, the openclaw command no longer runs. I am connected over Tailscale SSH, and checking the service with a root-level systemctl command does not show anything.
Tailscale is only the SSH transport. A minimal login shell can have a different PATH, and sudo systemctl checks the wrong service manager. Use the same non-root account that installed OpenClaw, then inspect:
whoami
command -v openclaw || true
node --version
npm prefix -g
export XDG_RUNTIME_DIR=/run/user/$(id -u)
systemctl --user status openclaw-gateway.service --no-pager
The launcher resolves, but Node says it cannot find OpenClaw’s dist/index.js under the global package root. I am using the same normal account as before.
That is an incomplete global package, not a Tailscale problem. Confirm the package root and installed version record before repairing it:
command -v openclaw
npm root -g
npm --version
npm list -g --depth=0 openclaw 2>&1
Repair the same installation method and package root. Do not create a second package-manager installation.
The global package listing shows openclaw@ without a version, while the launcher points into that same global npm installation.
That confirms a partial npm install. Reinstall the current stable package into that same global prefix, then verify the CLI:
sudo npm install -g openclaw@latest --allow-scripts=openclaw
openclaw --version
If the CLI returns but the user service still names the older release, align its service metadata and restart it as the same non-root user:
openclaw gateway install --force
openclaw gateway restart
openclaw gateway status --deep
If your npm release does not support --allow-scripts, use the installer documented for your platform rather than creating another package prefix.
That brought the Gateway back up.
Finish with a smoke test:
openclaw gateway status --deep
openclaw channels status --probe
A complete recovery shows a running runtime, an OK connectivity probe, and healthy configured channels.