# Update to 2026.10.8 failed — stuck between database migration and Doctor errors

**URL:** <https://community.openclaw.ai/t/update-to-2026-10-8-failed-stuck-between-database-migration-and-doctor-errors/266>\
**Category:** Troubleshooting\
**Created:** [October 29, 2026, 4:48pm UTC](https://community.openclaw.ai/t/update-to-2026-10-8-failed-stuck-between-database-migration-and-doctor-errors/266 "2026-10-29T16:48:21Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![jogyth](https://yyz2.discourse-cdn.com/flex028/user_avatar/community.openclaw.ai/jogyth/32/525_2.png) [@jogyth](https://community.openclaw.ai/u/jogyth)\
**Post date:** [October 29, 2026, 4:48pm UTC](https://community.openclaw.ai/t/update-to-2026-10-8-failed-stuck-between-database-migration-and-doctor-errors/266/1 "2026-10-29T16:48:21Z")

</div>

Hi! I tried updating OpenClaw on my Mac to 2026.10.8, but the update failed and the Gateway no longer starts.

Both openclaw doctor --fix and openclaw update repair stop with:

unsupported-plugin-install-index

Doctor says plugins/installs.json is too old and tells me to run Doctor on 2026.9.5 before upgrading. However, the failed update has already migrated the shared database to schema 20, while 2026.9.5 supports schema 17. The six agent databases are still at schema 1.

I also get this configuration error:

agents.list moved to keyed agents.entries

I have the database snapshots saved before migration and a full, verified backup made after the failed update. I haven’t restored anything or downgraded, because I want to preserve my conversation history and settings.

The documentation says Doctor archives the old plugin index, but my installed version refuses to continue when it finds it.

What’s the safest way to recover from this partially migrated state?

Environment: macOS, npm installation, OpenClaw 2026.10.8 (dc2523e), Node.js 26.13.0. Gateway and node service are currently stopped.

I used Codex to help investigate and can provide more diagnostic details if needed.

---

<div class="post-metadata">

**Author:** ![joe](https://yyz2.discourse-cdn.com/flex028/user_avatar/community.openclaw.ai/joe/32/48_2.png) [@joe](https://community.openclaw.ai/u/joe)\
**Post date:** [October 30, 2026, 6:19pm UTC](https://community.openclaw.ai/t/update-to-2026-10-8-failed-stuck-between-database-migration-and-doctor-errors/266/2 "2026-10-30T18:19:57Z")

</div>

Hey there jogyth,

First, thanks for documenting this so thoroughly. And good call stopping the services rather than trying to force the update through.

I checked the 2026.10.8 source. You’re correct. That version explicitly refuses the legacy “plugins/installs.json” with “unsupported-plugin-install-index”. The documentation describes automatic archival, but that isn’t what this release actually does. There’s a discrepancy there.

The database migration makes this a little more complicated.

Your shared database is already at schema 20, and 2026.9.5 only supports schema 17. Do not downgrade against your current state. Installing the older package won’t reverse the database migration, and we don’t want to risk your conversation history.

I’d also avoid manually removing “installs.json”, changing database schema versions, or rewriting “agents.list”. That configuration error may be another consequence of Doctor not completing its migrations.

The safest documented recovery is to restore a complete pre-update state alongside its matching OpenClaw version, complete the necessary intermediate migrations, and then upgrade. But there’s an important distinction here: your verified backup was made after the failed update. The pre-migration database snapshots are useful, but we need to establish whether the matching configuration and agent state are available before attempting a restore.

Two things I’d like to establish:

1. What version were you running immediately before the update?

2. Do the pre-migration snapshots cover the shared database and all six agent databases, and do you have the corresponding pre-update configuration?

For now, keep the services stopped and preserve everything exactly as it is. We have a documented migration dead end here, and I don’t want to give you a workaround that creates a bigger problem.

With those details, we can determine whether there’s a complete recovery point to work from or whether this needs a maintainer-assisted migration path.

Preserving your conversations and settings takes priority over getting the Gateway running again quickly.

-Joe

---

<div class="post-metadata">

**Author:** ![jogyth](https://yyz2.discourse-cdn.com/flex028/user_avatar/community.openclaw.ai/jogyth/32/525_2.png) [@jogyth](https://community.openclaw.ai/u/jogyth)\
**Post date:** [October 30, 2026, 8:14pm UTC](https://community.openclaw.ai/t/update-to-2026-10-8-failed-stuck-between-database-migration-and-doctor-errors/266/3 "2026-10-30T20:14:07Z")

</div>

Thanks, Joe. I checked the local update log and snapshots:

1. Previous version: The failed update explicitly logged Before: 2026.7.1-2 and After: 2026.10.8.

2. Snapshot coverage: Yes — the pre-migration snapshots cover the shared database and all six agent databases: admin, developer, accountant, marketer, assistant and main. All seven have the same snapshot identifier, 605b83e5-0cec-82f7-8881-f01955649713, report schema 1 and pass SQLite quick\_check.

Configuration: The existing openclaw.json is still marked lastTouchedVersion: 2026.7.1-2, dated August 26. Its SHA-256 matches the config saved in all three recovery captures after the failed update. That establishes it has remained unchanged across those captures, but we haven’t found an independently recorded pre-update hash to prove it matches the exact pre-update snapshot generation.

No restoration, downgrade, manual index removal or config rewriting has been performed. The services have been left stopped.

What additional evidence would you need to establish whether this configuration and the seven snapshots form a usable recovery point?
