OpenClaw Dashboard Shows Old Version After Update
You update OpenClaw from the Control UI (Dashboard), the update completes, the gateway restarts — but the header still shows the old version. Running openclaw --version in the terminal confirms you're on the latest, yet the web UI disagrees.
Here's why it happens and how to fix it.
The Problem
- Open Control UI (127.0.0.1:18789) and run Updates -> Run update
- Update completes, Gateway restarts
- Refresh the browser
- Header still shows old version (e.g. 2026.2.22)
Meanwhile, openclaw --version returns 2026.2.24. The dashboard is lying.
Root Cause
On macOS, the OpenClaw Gateway runs as a LaunchAgent. When you run openclaw gateway install, it creates a plist file that includes the current version as the OPENCLAW_SERVICE_VERSION environment variable.
The problem is that the Control UI's update.run only restarts the Gateway via SIGUSR1 — it never rewrites the plist.
[gateway] update.run completed
[gateway] signal SIGUSR1 received
[gateway] received SIGUSR1; restarting
No plist rewrite happens between these lines. So when the Gateway restarts, it reads the stale version from the plist environment variable.
In contrast, running openclaw update from the CLI internally calls gateway install --force, which refreshes the plist. Same update, different behavior depending on the path.
How to Verify
Check the actual installed version:
openclaw --version
Check the version recorded in the LaunchAgent:
launchctl print gui/$(id -u)/ai.openclaw.gateway | grep SERVICE_VERSION
If these two values differ, you've hit this bug.
The Fix
Force-refresh the plist and reload the LaunchAgent:
openclaw gateway install --force
launchctl unload ~/Library/LaunchAgents/ai.openclaw.gateway.plist
launchctl load ~/Library/LaunchAgents/ai.openclaw.gateway.plist
Refresh the dashboard in your browser, and the correct version will appear.
If the version still doesn't update after completing the steps above, restart the Gateway entirely as a final step:
openclaw gateway restart
The Real Fix
This issue is tracked as #26296 on OpenClaw's GitHub. The proposed fix is to automatically run gateway install --force after a successful update.run — matching what the CLI update path already does.
Until that lands, you'll need to run the commands above manually after each Control UI update.
Summary
- Affected: macOS users who update via Control UI
- Severity: Low (display issue, no data loss)
- Repro rate: 100%
- Root cause:
update.rundoesn't refresh the plist - Workaround:
openclaw gateway install --force+ LaunchAgent reload