Update fails because my state database is newer than the CLI

Adapted community discussion: Paraphrased and condensed from an anonymized public OpenClaw Discord support conversation from August 2026. Technical guidance was reviewed for OpenClaw 2026.9.3.

openclaw update --channel stable --dry-run refuses to run. It says the persisted plugin records are invalid, then says my OpenClaw state database uses a newer schema than this CLI supports. Doctor refuses to continue for the same reason.

It looks like the state was written by a newer build, while the openclaw in my shell is an older beta installed through Node. What is the safe way out?

This is a split-brain installation, not a bad update-channel flag. The older CLI cannot safely repair state written by the newer build. First identify every OpenClaw executable and the one used by the Gateway:

openclaw --version
which -a openclaw
openclaw gateway status --deep

Do not run Doctor’s repair mode with the older binary, and do not delete the SQLite database. Update the same package-manager installation that should own the state. For a global npm installation, that means updating that global package first. After the authoritative CLI is current, confirm the stable update path with:

openclaw update --channel stable --dry-run

The safe principle is to move forward with a build that supports the existing schema, then repair plugin records from that compatible build.

Confirmed. I found the older global npm binary, updated that installation first, and then openclaw update --channel stable completed normally. I did not touch the database.

That confirms the old-binary and newer-state mismatch. Updating the owning installation first was the key step, and preserving the state database avoided turning a version problem into data loss.