Skip to content

plugins update --all leaves exact beta official plugins pinned after stable upgrade #94083

Description

@ooiuuii

Summary

openclaw plugins update --all can leave trusted official plugins pinned to an exact beta package after the core app has moved to the stable release. The command reports those plugins as up to date, while gateway status can still report official plugin version drift.

Real environment observed

  • Platform: Windows 10.0.22631
  • Upgrade shape: OpenClaw 2026.6.8-beta.1 -> 2026.6.8
  • Affected install records: official npm plugins such as @openclaw/brave, @openclaw/codex, @openclaw/discord, and @openclaw/whatsapp
  • The plugin install records were exact beta specs before the stable core upgrade.

User-visible symptom

After the stable core upgrade, a bulk plugin update could say the exact beta plugins were already current, for example:

brave is up to date (2026.6.8-beta.1)
codex is up to date (2026.6.8-beta.1)
discord is up to date (2026.6.8-beta.1)
whatsapp is up to date (2026.6.8-beta.1)

But openclaw gateway status --json still reported plugin version drift because the gateway/core release was 2026.6.8 and the official plugins remained on 2026.6.8-beta.1.

A manual force install of the stable official package specs cleared the drift, which points to stale exact official plugin specs rather than a gateway runtime failure.

Source-level repro on current main

openclaw update already asks the updater to sync trusted official plugin installs to the current official catalog.

openclaw plugins update, including plugins update --all, calls the same updater without that option. As a result, an exact official beta spec can be treated as the requested target for the bulk update path instead of being reconciled to the stable official catalog entry.

The existing manual-update behavior should remain unchanged for a targeted plugin update; the gap is the bulk maintenance command.

Expected behavior

openclaw plugins update --all should converge trusted official plugin install records to the current official catalog when it is doing bulk maintenance, matching the behavior users expect after a stable core upgrade.

At minimum, it should not report exact beta official packages as simply "up to date" while the gateway still reports official plugin version drift.

Actual behavior

Bulk update can leave exact beta official plugin records in place and report them as unchanged. The operator then has to discover and repair the drift manually with force installs.

Scope / non-goals

  • This does not ask targeted openclaw plugins update <id> to overwrite an operator-authored plugin spec.
  • This does not change plugin APIs, activation, gateway loading, or npm resolution policy.
  • This is only about the bulk --all path using the same official-catalog sync behavior already used by core update.

Proposed fix

Pass the existing syncOfficialPluginInstalls option when plugins update --all invokes the npm plugin updater, while preserving the current targeted-update behavior.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P1High-priority user-facing bug, regression, or broken workflow.clawsweeper: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.

    Type

    No type

    Fields

    Priority

    None yet

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions