Gateway still starts an older OpenClaw after a macOS upgrade

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 upgrading on my Mac, automatic Gateway startup refuses to run because it says the service binary is older than the version that last wrote the configuration. Why is startup still using an older OpenClaw runtime?

That error usually means two OpenClaw installations are involved. Your shell and the macOS LaunchAgent can resolve different executables. Do not edit the config version or bypass the safety guard. Please check both the interactive CLI and the service:

openclaw --version
which -a openclaw
openclaw gateway status --deep
openclaw config get meta.lastTouchedVersion

The last two commands are read-only. Redact personal paths and tokens before sharing the output.

The interactive CLI reports OpenClaw 2026.8.2 from the expected Homebrew path.

That narrows it down. The interactive CLI is current, so the stale binary is likely coming from the LaunchAgent, which can keep its own executable path independently of your shell. If openclaw gateway status --deep confirms that the service points to an old checkout, reinstall the service definition from the current CLI, restart it, and check again:

openclaw gateway install --force
openclaw gateway restart
openclaw gateway status --deep

That got me further, but the Gateway still will not start. The visible output keeps repeating a warning about an unresolved legacy messaging-channel file.

The repeated warning is not enough to identify the exit. Launchd is retrying the Gateway, which makes the warning appear repeatedly. Leave the legacy file in place for now and capture the actual startup error with openclaw gateway status --deep plus the current Gateway logs. Redact credentials and private paths before sharing any excerpt.

The application log has much more detail than the restart log.

That log shows the legacy migration is blocking readiness after all. Run the repair from the current installation, then restart and inspect status again:

openclaw doctor --fix
openclaw gateway restart
openclaw gateway status --deep

Keep the legacy credential file in place until the repair reports what it can migrate.