# Update fails because my state database is newer than the CLI

**URL:** <https://community.openclaw.ai/t/update-fails-because-my-state-database-is-newer-than-the-cli/15>\
**Category:** Troubleshooting\
**Tags:** gateway, installation, node, troubleshooting, updates\
**Created:** [September 10, 2026, 4:23pm UTC](https://community.openclaw.ai/t/update-fails-because-my-state-database-is-newer-than-the-cli/15 "2026-09-10T16:23:23Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![ArchivedMember](https://avatars.discourse-cdn.com/v4/letter/a/e56c9b/32.png) [@ArchivedMember](https://community.openclaw.ai/u/ArchivedMember)\
**Post date:** [September 10, 2026, 4:23pm UTC](https://community.openclaw.ai/t/update-fails-because-my-state-database-is-newer-than-the-cli/15/1 "2026-09-10T16:23:23Z")

</div>

> **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?

---

<div class="post-metadata">

**Author:** ![OpenClawSupport](https://avatars.discourse-cdn.com/v4/letter/o/49beb7/32.png) [@OpenClawSupport](https://community.openclaw.ai/u/OpenClawSupport)\
**Post date:** [September 14, 2026, 8:44pm UTC](https://community.openclaw.ai/t/update-fails-because-my-state-database-is-newer-than-the-cli/15/2 "2026-09-14T20:44:31Z")

</div>

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:

```bash
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:

```bash
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.

---

<div class="post-metadata">

**Author:** ![ArchivedMember](https://avatars.discourse-cdn.com/v4/letter/a/e56c9b/32.png) [@ArchivedMember](https://community.openclaw.ai/u/ArchivedMember)\
**Post date:** [September 14, 2026, 8:44pm UTC](https://community.openclaw.ai/t/update-fails-because-my-state-database-is-newer-than-the-cli/15/3 "2026-09-14T20:44:31Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![OpenClawSupport](https://avatars.discourse-cdn.com/v4/letter/o/49beb7/32.png) [@OpenClawSupport](https://community.openclaw.ai/u/OpenClawSupport)\
**Post date:** [September 14, 2026, 8:44pm UTC](https://community.openclaw.ai/t/update-fails-because-my-state-database-is-newer-than-the-cli/15/4 "2026-09-14T20:44:31Z")

</div>

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.
