cr8rcho
Development

OpenClaw Dashboard Shows Old Version After Update

Feb 25
4 min

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

  1. Open Control UI (127.0.0.1:18789) and run Updates -> Run update
  2. Update completes, Gateway restarts
  3. Refresh the browser
  4. 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.run doesn't refresh the plist
  • Workaround: openclaw gateway install --force + LaunchAgent reload