Version
2026.6.10 (macOS Apple Silicon, npm global install)
Summary
openclaw update succeeds at the core swap but fails during the post-update plugin sync: every format=bundle plugin (Claude-plugin layout — .claude-plugin/plugin.json + skills/, no package.json) is reported as a missing payload. The update exits 1 and leaves the gateway unloaded (down), even though those bundle plugins load fine at runtime.
Environment
- OpenClaw 2026.6.10, npm global (
/opt/homebrew/lib/node_modules/openclaw)
- ~13 first-party
format=bundle plugins under ~/.openclaw/extensions/*, each with .claude-plugin/plugin.json + skills/, no top-level package.json; all in plugins.allow, all status=loaded at runtime.
Steps to reproduce
- Have at least one
format=bundle plugin in ~/.openclaw/extensions/ (.claude-plugin/plugin.json, no package.json).
- Run
openclaw update --yes.
Actual
- Core update OK (
✓ global update, ✓ global install swap).
- For each bundle plugin:
Plugin install payload missing after update: package.json is missing under ~/.openclaw/extensions/<name> then failed post-core payload smoke check (missing-package-json).
Update failed during plugin post-update sync., exit 1.
- Gateway left unloaded (
launchctl list | grep ai.openclaw.gateway empty; openclaw daemon status → Runtime unknown / Connectivity failed) → outage until manual recovery.
Expected
- The smoke check should recognize
format=bundle plugins (validate .claude-plugin/plugin.json), or skip the npm-payload check for non-npm plugin formats.
- A plugin-sync failure must NOT unload an already-healthy gateway.
Workaround
The core update actually succeeded and the bundle plugins load fine. Recover with:
The gateway returns on the new version with all bundle plugins loaded.
Notes
openclaw plugins list --json shows the affected plugins as format=bundle status=loaded — confirming this is the update-time smoke check being npm-format-specific, not a real payload problem.
Version
2026.6.10 (macOS Apple Silicon, npm global install)
Summary
openclaw updatesucceeds at the core swap but fails during the post-update plugin sync: everyformat=bundleplugin (Claude-plugin layout —.claude-plugin/plugin.json+skills/, nopackage.json) is reported as a missing payload. The update exits 1 and leaves the gateway unloaded (down), even though those bundle plugins load fine at runtime.Environment
/opt/homebrew/lib/node_modules/openclaw)format=bundleplugins under~/.openclaw/extensions/*, each with.claude-plugin/plugin.json+skills/, no top-levelpackage.json; all inplugins.allow, allstatus=loadedat runtime.Steps to reproduce
format=bundleplugin in~/.openclaw/extensions/(.claude-plugin/plugin.json, nopackage.json).openclaw update --yes.Actual
✓ global update,✓ global install swap).Plugin install payload missing after update: package.json is missing under ~/.openclaw/extensions/<name>thenfailed post-core payload smoke check (missing-package-json).Update failed during plugin post-update sync., exit 1.launchctl list | grep ai.openclaw.gatewayempty;openclaw daemon status→ Runtime unknown / Connectivity failed) → outage until manual recovery.Expected
format=bundleplugins (validate.claude-plugin/plugin.json), or skip the npm-payload check for non-npm plugin formats.Workaround
The core update actually succeeded and the bundle plugins load fine. Recover with:
The gateway returns on the new version with all bundle plugins
loaded.Notes
openclaw plugins list --jsonshows the affected plugins asformat=bundle status=loaded— confirming this is the update-time smoke check being npm-format-specific, not a real payload problem.