Skip to content

Plugin/core version drift after upgrade causes silent channel failure #83337

Description

@cdeyoung67

Summary

Upgrading OpenClaw core does not automatically realign installed plugin packages. If a plugin like @openclaw/discord remains on an older version than core, the channel can silently fall into a disabled/broken state with no clear incompatibility warning.

Environment

  • OpenClaw version observed: 2026.5.7
  • Host OS: Ubuntu 24.04
  • Install style: native install / upgrade flow

Reproduction

Pin a plugin to an older version, then upgrade core:

cd ~/.openclaw/npm
npm install @openclaw/discord@<old-version>
sudo npm install -g @openclaw/openclaw@latest
systemctl --user restart openclaw-gateway.service

Now inspect channel state:

openclaw channels list --all --plain
# Discord: installed, not configured, disabled

Check versions:

node -e "
const p = require('/home/adam/.openclaw/npm/node_modules/@openclaw/discord/package.json');
console.log('plugin:', p.version);
"
openclaw --version

Then repair:

cd ~/.openclaw/npm
npm install @openclaw/discord@latest
openclaw doctor --fix
systemctl --user restart openclaw-gateway.service
openclaw channels list --all --plain
# Discord default (...): installed, configured, enabled

Expected

When core upgrades, plugin compatibility should remain aligned or the operator should get a clear, actionable error saying the installed plugin version is incompatible.

Actual

Core/plugin drift causes silent failure. The channel appears disabled or non-functional even though config remains valid and unchanged. There is no clear warning such as "plugin version incompatible with core version".

Why this matters

This creates a confusing post-upgrade failure mode: the bot stops working, validation still passes, and the operator has to manually discover version drift inside ~/.openclaw/npm/node_modules.

Suggested fix

Any of these would help:

  • Auto-upgrade @openclaw/* plugins when core upgrades.
  • Check plugin versions against core on startup and emit a warning/error when they drift.
  • Refuse startup with an actionable message if a plugin is incompatible with the current core version.

Notes

In our environment, openclaw doctor --fix was also needed to repair the plugin dependency link after upgrading the package.

Primary source doc:

  • docs/upstream-bugs/plugin-core-version-drift-after-upgrade.md

Metadata

Metadata

Assignees

No one assigned

    Labels

    P1High-priority user-facing bug, regression, or broken workflow.clawsweeper:fix-shape-clearClawSweeper found a clear likely implementation shape for this issue.clawsweeper:needs-live-reproClawSweeper needs live local, crabbox, or manual validation to confirm this issue.clawsweeper:needs-maintainer-reviewClawSweeper marked this issue as needing maintainer review before automation.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.impact:auth-providerAuth, provider routing, model choice, or SecretRef resolution may break.impact:message-lossChannel message delivery can be lost, duplicated, or misrouted.issue-rating: 🐚 platinum hermitGood issue quality with a plausible reproduction path needing some confirmation.maturity:stableIssue affects a taxonomy feature currently scored M4/M5.

    Type

    No type

    Fields

    Priority

    None yet

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions