Summary
After upgrading a local macOS install from 2026.5.18 to 2026.6.1, OpenClaw repeatedly reports a legacy state migration/plugin install index warning for codex and discord, even though the plugin update appears to complete and the gateway runs normally.
Environment
- OpenClaw before:
2026.5.18 (50a2481)
- OpenClaw after:
2026.6.1 (2e08f0f)
- Platform: macOS arm64
- Install/update mode:
pnpm, stable channel
- Gateway: LaunchAgent, loopback
127.0.0.1:18789
- Plugins involved:
@openclaw/codex, @openclaw/discord
Repro / observed flow
Ran supervised upgrade:
openclaw update --tag 2026.6.1 --yes --timeout 3600 --no-restart
Update completed:
Update Result: OK
Root: /opt/homebrew/lib/node_modules/openclaw
Before: 2026.5.18
After: 2026.6.1
Steps:
✓ global update
✓ global install swap
✓ openclaw doctor
Then plugin update ran:
Updating plugins...
Installing @openclaw/codex into ~/.openclaw/npm/projects/openclaw-codex-8902d781d4…
Linked peerDependency "openclaw" -> /opt/homebrew/lib/node_modules/openclaw
Installing @openclaw/discord into ~/.openclaw/npm/projects/openclaw-discord-c0892df945…
Linked peerDependency "openclaw" -> /opt/homebrew/lib/node_modules/openclaw
npm plugins: 2 updated, 0 unchanged.
But the following warning appeared during the update, during openclaw gateway restart --wait 120s, and again during openclaw channels status --json:
[state-migrations] Legacy state migration warnings:
- Left plugin install index in place because shared SQLite state has conflicting plugin install metadata for: codex, discord
Doctor warnings:
- Left plugin install index in place because shared SQLite state has conflicting plugin install metadata for: codex, discord
Expected behavior
After a successful plugin update, the install index/shared SQLite metadata should either:
- reconcile the new plugin install records automatically, or
- emit a one-time actionable repair command that clears the stale/conflicting records safely.
The warning should not keep recurring on normal health/status/restart flows if the runtime is healthy.
Actual behavior
The warning repeats across multiple commands even though runtime validation succeeds.
Post-upgrade validation:
openclaw --version -> OpenClaw 2026.6.1 (2e08f0f)
openclaw gateway status -> CLI version 2026.6.1, Gateway version 2026.6.1, connectivity probe ok
openclaw health --json -> ok=true, plugins loaded include codex and discord, plugin errors=[]
openclaw channels status --json -> Discord and Telegram running; all enabled Discord accounts eventually connected
Impact
This looks non-fatal, but it is noisy and confusing during upgrades. It makes operators unsure whether codex/discord plugin installs are clean or whether a stale install index may affect future plugin repair/update behavior.
Suggested fix
- Add a deterministic migration/repair path for conflicting shared SQLite plugin install metadata.
- If automatic repair is unsafe, include exact operator guidance in the warning, e.g. a specific
openclaw doctor --fix/plugin repair command or a dry-runable cleanup command.
- Suppress repeated warnings after the runtime has proven that the affected plugins are installed, linked, and loaded cleanly, or downgrade to a status note with remediation.
Summary
After upgrading a local macOS install from
2026.5.18to2026.6.1, OpenClaw repeatedly reports a legacy state migration/plugin install index warning forcodexanddiscord, even though the plugin update appears to complete and the gateway runs normally.Environment
2026.5.18 (50a2481)2026.6.1 (2e08f0f)pnpm, stable channel127.0.0.1:18789@openclaw/codex,@openclaw/discordRepro / observed flow
Ran supervised upgrade:
Update completed:
Then plugin update ran:
But the following warning appeared during the update, during
openclaw gateway restart --wait 120s, and again duringopenclaw channels status --json:Expected behavior
After a successful plugin update, the install index/shared SQLite metadata should either:
The warning should not keep recurring on normal health/status/restart flows if the runtime is healthy.
Actual behavior
The warning repeats across multiple commands even though runtime validation succeeds.
Post-upgrade validation:
Impact
This looks non-fatal, but it is noisy and confusing during upgrades. It makes operators unsure whether
codex/discordplugin installs are clean or whether a stale install index may affect future plugin repair/update behavior.Suggested fix
openclaw doctor --fix/plugin repair command or a dry-runable cleanup command.