Skip to content

2026.4.27 → 2026.5.2 silently drops built-in channel extensions (whatsapp, discord, bluebubbles, ...) — built-in→external @openclaw/* migration without auto-install or warning #77483

@mids-neo

Description

@mids-neo

Bug type

Regression (worked before, now fails) / packaging+migration UX

Summary

Upgrading OpenClaw from 2026.4.27 to 2026.5.2 (or doing a fresh 2026.5.2 install) leaves all built-in channel extensions silently absent from the active install. The user's pre-existing WhatsApp (and other channels) goes offline with no error message identifying the cause.

After upgrade, openclaw channels status no longer lists WhatsApp at all; only a config warning appears:

- plugins.entries.whatsapp: plugin not found: whatsapp (stale config entry ignored; remove it from plugins config)

The same silent drop affects 25 extension dirs that were present in dist/extensions/ of 2026.4.27 but are absent in 2026.5.2's core npm package. WhatsApp is the most user-visible because it's the primary inbound channel for many deployments. Affected extensions:

acpx, bluebubbles, brave, codex, diagnostics-otel, diagnostics-prometheus, diffs, discord, feishu, google-meet, googlechat, line, lobster, memory-lancedb, msteams, nextcloud-talk, nostr, qqbot, synology-chat, tlon, twitch, voice-call, whatsapp, zalo, zalouser

(Net: 2026.5.2 adds file-transfer; drops the 25 above.)

Architectural context (likely root cause)

These channel extensions appear to have been externalized into separate @openclaw/* npm packages in the 5.x line. npm view @openclaw/whatsapp versions shows the package starts at 2026.5.1-beta.1 and is currently at 2026.5.3. The published description: "OpenClaw WhatsApp channel plugin".

So this looks like an intentional architectural change: built-in channels in 4.x → external @openclaw/<channel> plugins in 5.x. However, the 4.27→5.2 upgrade does not auto-install the corresponding external plugins, and there is no migration warning or messaging telling the operator that previously-working channels just went offline.

Steps to reproduce

  1. On a host with a working 2026.4.27 install (WhatsApp linked and channels.whatsapp.enabled = true), confirm WhatsApp shows running, connected in openclaw channels status.
  2. Upgrade to 2026.5.2:
    npm install -g openclaw@2026.5.2 --force
    # or a clean rm + install
  3. Restart the gateway.
  4. Run openclaw channels status.

Expected behavior

Either:

  • The previously-installed channel extensions remain functional after upgrade (auto-migrate to the externalized plugin), OR
  • The CLI emits a clear migration warning naming each channel that needs openclaw plugins install @openclaw/<name> to be restored, OR
  • The CHANGELOG / upgrade guide documents this breaking change explicitly so operators don't ship an outage on what looks like a routine version bump.

Actual behavior

WhatsApp (and 24 other extensions) silently disappears from openclaw channels status. The only signal is a benign-looking config warning that says "stale config entry ignored; remove it from plugins config" — which actively misleads the operator into removing valid config rather than installing the external plugin.

The schema-level support for these channels survives in the 5.2 install:

/data/.npm-global/lib/node_modules/openclaw/dist/zod-schema.providers-whatsapp-BJaer4_9.js
/data/.npm-global/lib/node_modules/openclaw/dist/plugin-sdk/src/config/types.whatsapp.d.ts
/data/.npm-global/lib/node_modules/openclaw/dist/plugin-sdk/src/config/zod-schema.providers-whatsapp.d.ts
/data/.npm-global/lib/node_modules/openclaw/docs/channels/whatsapp.md

i.e. 5.2 core still understands the concept of a WhatsApp channel (validates config, ships docs) but won't ship or auto-install the implementation.

Reproduced after clean reinstall

To rule out local install corruption, we performed a clean reinstall on the same host:

rm -rf /data/.npm-global/lib/node_modules/openclaw
npm install -g openclaw@2026.5.2
# (KLAWBI_REDACTOR_DISABLED=1 was needed because the in-tree NODE_OPTIONS preload
# depends on the very install being replaced — separate ergonomics observation,
# not the bug being reported here)

Result:

  • Install successful: added 554 packages in 32s
  • Active version verified: OpenClaw 2026.5.2 (8b2a6e5)
  • dist/extensions/ still contains only 96 entries — exactly the same 25 extensions absent
  • openclaw channels status still shows the same plugin not found: whatsapp warning and no WhatsApp channel in the list

So the regression is reproducible from the upstream npm package itself, not a local artifact.

Workaround used in our deployment

We rolled back the active install to 2026.4.27 from a snapshot at /data/.npm-global/lib/node_modules/openclaw.pre-2026.5.2. After container restart, WhatsApp registered cleanly and openclaw channels status shows:

- WhatsApp default: enabled, configured, linked, running, connected, in:2m ago, dm:open, ...

A presumed alternative workaround (untested by us) per #77424 is staying on 5.2 and running:

openclaw plugins install @openclaw/whatsapp --dangerously-force-unsafe-install

per the same pattern reported there for @openclaw/feishu.

Suggested fix

Pick one (or several):

  1. Auto-install @openclaw/<name> for any channel that was active in the prior install but is no longer present in dist/extensions/ after upgrade.
  2. Migration warning at gateway start: when channels.<name>.enabled = true but the corresponding plugin is not found, emit a prominent warning that says RUN: openclaw plugins install @openclaw/<name> rather than the current "stale config entry ignored; remove it from plugins config" message — that wording actively misdirects.
  3. Document the externalization in the 2026.5.x upgrade guide / CHANGELOG so operators know to install the external plugins as part of the upgrade.

The current behavior makes a major version bump look like a minor patch and ships a silent outage.

OpenClaw version

  • Pre-upgrade: 2026.4.27 (cbc2ba0) — WhatsApp working
  • Upgrade target: 2026.5.2 (8b2a6e5) — WhatsApp silently dropped
  • After rollback: 2026.4.27 (cbc2ba0) — WhatsApp restored

Operating system

Linux (Ubuntu in Docker, openclaw-hvex deployment), node v22.22.1, npm 10.9.4.

Install method

npm install -g openclaw@2026.5.2

Related issues

Forensics bundle

We have a full incident bundle archived locally at /data/.openclaw/incidents/2026-05-04-whatsapp-extension-missing/ with:

  • active install inventory (5.2)
  • backup install inventory (4.27)
  • openclaw channels status output before + after clean reinstall
  • ops-state status files showing the watchdog flipping whatsapp-status.txt between down and connected
  • sorted diff of dist/extensions/ between active and backup
  • openclaw --version proof for both installs
  • post-rollback verification

Happy to attach any of the above on request.

Metadata

Metadata

Assignees

Labels

No labels
No labels

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