Description
Running openclaw update --yes on systemd-based hosts removes the systemd service file during the update process but does not recreate it afterward. The gateway exits with "Gateway service disabled" and requires a manual openclaw gateway install + systemctl --user start openclaw-gateway.service to recover.
Environment
- OS: Debian (Hetzner VPS, 3 separate instances)
- Service manager: systemd (user-level)
- Update: 2026.3.7 → 2026.3.8
- Install method:
npm install -g openclaw
Steps to Reproduce
- Have a working OpenClaw instance running via
systemctl --user on a Linux host
- Run
openclaw update --yes
- Update completes successfully (npm package updated to new version)
- Service is not restarted — output says "Gateway service disabled"
systemctl --user status openclaw-gateway.service shows "Unit not found"
Expected Behavior
After a successful update, the systemd service file should be regenerated and the gateway restarted automatically (same as launchd behavior on macOS, which works correctly).
Workaround
openclaw gateway install
systemctl --user start openclaw-gateway.service
Notes
- Tested on 3 separate Hetzner VPS instances — all exhibited the same behavior.
- macOS (launchd) update on the same version transition worked correctly — the gateway restarted automatically.
- The
--no-restart flag exists but was NOT used; the default behavior should restart the service.
Description
Running
openclaw update --yeson systemd-based hosts removes the systemd service file during the update process but does not recreate it afterward. The gateway exits with "Gateway service disabled" and requires a manualopenclaw gateway install+systemctl --user start openclaw-gateway.serviceto recover.Environment
npm install -g openclawSteps to Reproduce
systemctl --useron a Linux hostopenclaw update --yessystemctl --user status openclaw-gateway.serviceshows "Unit not found"Expected Behavior
After a successful update, the systemd service file should be regenerated and the gateway restarted automatically (same as launchd behavior on macOS, which works correctly).
Workaround
Notes
--no-restartflag exists but was NOT used; the default behavior should restart the service.