Skip to content

[Bug]: After updating to OpenClaw 2026.6.1, legacy state migration warnings keep appearing even after running openclaw doctor --fix. #90213

@rogerallen1

Description

@rogerallen1

Bug type

Regression (worked before, now fails)

Beta release blocker

No

Summary

After updating to OpenClaw 2026.6.1, legacy state migration warnings keep appearing even after running openclaw doctor --fix.

Left plugin install index in place because shared SQLite state has conflicting plugin install metadata for: brave, lobster

The warning still appears even after running openclaw doctor --fix

Steps to reproduce

openclaw upgrade

Expected behavior

Warnings to not be there

Actual behavior

I get post upgrade warning

OpenClaw version

2026.6.1

Operating system

Ubuntu

Install method

No response

Model

qwen 3.6

Provider / routing chain

lmstudio

Additional provider/model setup details

local

Logs, screenshots, and evidence

admin@PiClaw:~ $ openclaw plugins inspect brave --runtime --json
08:01:32 [state-migrations] Legacy state migration warnings:
- Left plugin install index in place because shared SQLite state has conflicting plugin install metadata for: brave, lobster
{
  "workspaceDir": "/home/admin/.openclaw/workspace-sql",
  "plugin": {
    "id": "brave",
    "name": "Brave Plugin",
    "description": "Bundled Brave plugin",
    "version": "2026.6.1",
    "packageName": "@openclaw/brave-plugin",
    "format": "openclaw",
    "source": "/home/admin/.openclaw/npm/projects/openclaw-brave-plugin-11fe9e3aa3/node_modules/@openclaw/brave-plugin/dist/index.js",
    "rootDir": "/home/admin/.openclaw/npm/projects/openclaw-brave-plugin-11fe9e3aa3/node_modules/@openclaw/brave-plugin",
    "origin": "global",
    "trustedOfficialInstall": true,
    "enabled": true,
    "compat": [],
    "explicitlyEnabled": true,
    "activated": true,
    "activationSource": "explicit",
    "activationReason": "enabled in config",
    "syntheticAuthRefs": [],
    "status": "loaded",
    "toolNames": [],
    "hookNames": [],
    "channelIds": [],
    "cliBackendIds": [],
    "providerIds": [],
    "embeddingProviderIds": [],
    "speechProviderIds": [],
    "realtimeTranscriptionProviderIds": [],
    "realtimeVoiceProviderIds": [],
    "mediaUnderstandingProviderIds": [],
    "transcriptSourceProviderIds": [],
    "imageGenerationProviderIds": [],
    "videoGenerationProviderIds": [],
    "musicGenerationProviderIds": [],
    "webFetchProviderIds": [],
    "webSearchProviderIds": [
      "brave"
    ],
    "migrationProviderIds": [],
    "contextEngineIds": [],
    "memoryEmbeddingProviderIds": [],
    "agentHarnessIds": [],
    "cliCommands": [],
    "services": [],
    "gatewayDiscoveryServiceIds": [],
    "commands": [],
    "httpRoutes": 0,
    "hookCount": 0,
    "configSchema": true,
    "configUiHints": {
      "webSearch.apiKey": {
        "label": "Brave Search API Key",
        "help": "Brave Search API key (fallback: BRAVE_API_KEY env var).",
        "sensitive": true,
        "placeholder": "BSA..."
      },
      "webSearch.mode": {
        "label": "Brave Search Mode",
        "help": "Brave Search mode: web or llm-context."
      },
      "webSearch.baseUrl": {
        "label": "Brave Search Base URL",
        "help": "Optional Brave-compatible API base URL for trusted proxies. Defaults to https://api.search.brave.com."
      }
    },
    "configJsonSchema": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "webSearch": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "apiKey": {
              "type": [
                "string",
                "object"
              ]
            },
            "mode": {
              "type": "string",
              "enum": [
                "web",
                "llm-context"
              ]
            },
            "baseUrl": {
              "type": [
                "string",
                "object"
              ]
            }
          }
        }
      }
    },
    "contracts": {
      "webSearchProviders": [
        "brave"
      ]
    },
    "imported": true,
    "dependencyStatus": {
      "hasDependencies": false,
      "installed": true,
      "requiredInstalled": true,
      "optionalInstalled": true,
      "missing": [],
      "missingOptional": [],
      "dependencies": [],
      "optionalDependencies": []
    }
  },
  "shape": "plain-capability",
  "capabilityMode": "plain",
  "capabilityCount": 1,
  "capabilities": [
    {
      "kind": "web-search",
      "ids": [
        "brave"
      ]
    }
  ],
  "typedHooks": [],
  "customHooks": [],
  "tools": [],
  "commands": [],
  "cliCommands": [],
  "services": [],
  "gatewayDiscoveryServices": [],
  "gatewayMethods": [],
  "mcpServers": [],
  "lspServers": [],
  "httpRouteCount": 0,
  "bundleCapabilities": [],
  "diagnostics": [],
  "policy": {
    "allowedModels": [],
    "hasAllowedModelsConfig": false
  },
  "usesLegacyBeforeAgentStart": false,
  "compatibility": [],
  "install": {
    "source": "npm",
    "spec": "@openclaw/brave-plugin",
    "installPath": "/home/admin/.openclaw/npm/projects/openclaw-brave-plugin-11fe9e3aa3/node_modules/@openclaw/brave-plugin",
    "version": "2026.6.1",
    "resolvedName": "@openclaw/brave-plugin",
    "resolvedVersion": "2026.6.1",
    "resolvedSpec": "@openclaw/brave-plugin@2026.6.1",
    "integrity": "sha512-QrmjJ4ZjujrCjQKfG/7pAI/Dwedg6KwhkgaWNSqxbgX89nczjvfuZM8ljiieQDuuuesYxMbaKph5n4aWHLzJsg==",
    "shasum": "8024f1b9e40553323b22d5a25f6ac23dc5dea654",
    "resolvedAt": "2026-06-04T06:54:55.137Z",
    "installedAt": "2026-06-04T06:54:57.514Z"
  }
}

admin@PiClaw:~ $ openclaw plugins inspect brave --runtime --json
08:02:44 [state-migrations] Legacy state migration warnings:
- Left plugin install index in place because shared SQLite state has conflicting plugin install metadata for: brave, lobster
{
  "workspaceDir": "/home/admin/.openclaw/workspace-sql",
  "plugin": {
    "id": "brave",
    "name": "Brave Plugin",
    "description": "Bundled Brave plugin",
    "version": "2026.6.1",
    "packageName": "@openclaw/brave-plugin",
    "format": "openclaw",
    "source": "/home/admin/.openclaw/npm/projects/openclaw-brave-plugin-11fe9e3aa3/node_modules/@openclaw/brave-plugin/dist/index.js",
    "rootDir": "/home/admin/.openclaw/npm/projects/openclaw-brave-plugin-11fe9e3aa3/node_modules/@openclaw/brave-plugin",
    "origin": "global",
    "trustedOfficialInstall": true,
    "enabled": true,
    "compat": [],
    "explicitlyEnabled": true,
    "activated": true,
    "activationSource": "explicit",
    "activationReason": "enabled in config",
    "syntheticAuthRefs": [],
    "status": "loaded",
    "toolNames": [],
    "hookNames": [],
    "channelIds": [],
    "cliBackendIds": [],
    "providerIds": [],
    "embeddingProviderIds": [],
    "speechProviderIds": [],
    "realtimeTranscriptionProviderIds": [],
    "realtimeVoiceProviderIds": [],
    "mediaUnderstandingProviderIds": [],
    "transcriptSourceProviderIds": [],
    "imageGenerationProviderIds": [],
    "videoGenerationProviderIds": [],
    "musicGenerationProviderIds": [],
    "webFetchProviderIds": [],
    "webSearchProviderIds": [
      "brave"
    ],
    "migrationProviderIds": [],
    "contextEngineIds": [],
    "memoryEmbeddingProviderIds": [],
    "agentHarnessIds": [],
    "cliCommands": [],
    "services": [],
    "gatewayDiscoveryServiceIds": [],
    "commands": [],
    "httpRoutes": 0,
    "hookCount": 0,
    "configSchema": true,
    "configUiHints": {
      "webSearch.apiKey": {
        "label": "Brave Search API Key",
        "help": "Brave Search API key (fallback: BRAVE_API_KEY env var).",
        "sensitive": true,
        "placeholder": "BSA..."
      },
      "webSearch.mode": {
        "label": "Brave Search Mode",
        "help": "Brave Search mode: web or llm-context."
      },
      "webSearch.baseUrl": {
        "label": "Brave Search Base URL",
        "help": "Optional Brave-compatible API base URL for trusted proxies. Defaults to https://api.search.brave.com."
      }
    },
    "configJsonSchema": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "webSearch": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "apiKey": {
              "type": [
                "string",
                "object"
              ]
            },
            "mode": {
              "type": "string",
              "enum": [
                "web",
                "llm-context"
              ]
            },
            "baseUrl": {
              "type": [
                "string",
                "object"
              ]
            }
          }
        }
      }
    },
    "contracts": {
      "webSearchProviders": [
        "brave"
      ]
    },
    "imported": true,
    "dependencyStatus": {
      "hasDependencies": false,
      "installed": true,
      "requiredInstalled": true,
      "optionalInstalled": true,
      "missing": [],
      "missingOptional": [],
      "dependencies": [],
      "optionalDependencies": []
    }
  },
  "shape": "plain-capability",
  "capabilityMode": "plain",
  "capabilityCount": 1,
  "capabilities": [
    {
      "kind": "web-search",
      "ids": [
        "brave"
      ]
    }
  ],
  "typedHooks": [],
  "customHooks": [],
  "tools": [],
  "commands": [],
  "cliCommands": [],
  "services": [],
  "gatewayDiscoveryServices": [],
  "gatewayMethods": [],
  "mcpServers": [],
  "lspServers": [],
  "httpRouteCount": 0,
  "bundleCapabilities": [],
  "diagnostics": [],
  "policy": {
    "allowedModels": [],
    "hasAllowedModelsConfig": false
  },
  "usesLegacyBeforeAgentStart": false,
  "compatibility": [],
  "install": {
    "source": "npm",
    "spec": "@openclaw/brave-plugin",
    "installPath": "/home/admin/.openclaw/npm/projects/openclaw-brave-plugin-11fe9e3aa3/node_modules/@openclaw/brave-plugin",
    "version": "2026.6.1",
    "resolvedName": "@openclaw/brave-plugin",
    "resolvedVersion": "2026.6.1",
    "resolvedSpec": "@openclaw/brave-plugin@2026.6.1",
    "integrity": "sha512-QrmjJ4ZjujrCjQKfG/7pAI/Dwedg6KwhkgaWNSqxbgX89nczjvfuZM8ljiieQDuuuesYxMbaKph5n4aWHLzJsg==",
    "shasum": "8024f1b9e40553323b22d5a25f6ac23dc5dea654",
    "resolvedAt": "2026-06-04T06:54:55.137Z",
    "installedAt": "2026-06-04T06:54:57.514Z"
  }
}

Impact and severity

It's just a warning

Additional information

◇ Doctor warnings ──────────────────────────────────────────────────────╮
│ │
│ - Left plugin install index in place because shared SQLite state has │
│ conflicting plugin install metadata for: brave, lobster │
│ │
├────────────────────────────────────────────────────────────────────────╯
07:59:34 [state-migrations] Legacy state migration warnings:

  • Left plugin install index in place because shared SQLite state has conflicting plugin install metadata for: brave, lobster

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Normal backlog priority with limited blast radius.bugSomething isn't workingclawsweeper:linked-pr-openClawSweeper found an open linked pull request for this issue.clawsweeper:needs-product-decisionClawSweeper marked this issue as needing a product or behavior decision.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.clawsweeper:source-reproClawSweeper found a high-confidence source-level issue reproduction.impact:otherThis issue has meaningful maintainer-visible impact outside the owned taxonomy.issue-rating: 🦞 diamond lobsterVery strong issue quality with high-confidence source-level or clear reproduction.regressionBehavior that previously worked and now fails

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions