Skip to content

[state-migrations] "conflicting plugin install metadata" warning has no native reconcile and corrupts --json output #90040

Description

@islandpreneur007

Version: 2026.6.1-beta.1

What happens

A legacy state migration tries to consolidate the plugin install index into shared SQLite, finds conflicting install metadata for several plugins, and safely leaves the legacy index in place — re-emitting this banner on (effectively) every CLI invocation:

[state-migrations] Legacy state migration warnings:
- Left plugin install index in place because shared SQLite state has conflicting plugin install metadata for: acpx, brave, codex, diffs, lobster, lossless-claw, memory-lancedb, voice-call

Why it's a problem

  1. No native reconcile path. openclaw plugins registry --refresh only rebuilds the registry from manifests — the banner persists unchanged after it. plugins doctor / doctor report the conflict but offer no reconcile action. No documented command resolves the conflicting install-index metadata. The only resolution is hand-editing shared SQLite state, which users should not have to do.
  2. It corrupts --json output. The banner is written to stdout and prepended to machine-readable output, so openclaw <cmd> --json | jq (and any programmatic/agent consumer) fails to parse. This breaks automation and is the source of a downstream heartbeat_rpc "ambiguous JSON" watchdog warning.

Expected

Either:

  • (a) a native command to reconcile/clear the conflicting plugin-install-index metadata (e.g. openclaw plugins registry --reconcile-install-index or a doctor --fix action scoped to this), or
  • (b) at minimum, route the [state-migrations] warning to stderr (or a log) so it never corrupts --json stdout.

Environment

  • OpenClaw 2026.6.1-beta.1
  • 8 affected plugins: acpx, brave, codex, diffs, lobster, lossless-claw, memory-lancedb, voice-call
  • Live registry is correct; all plugins load. Issue is the persistent warning + stdout corruption, not plugin function.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Normal backlog priority with limited blast radius.impact:otherThis issue has meaningful maintainer-visible impact outside the owned taxonomy.

    Type

    No type

    Fields

    Priority

    None yet

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions