openclaw - 💡(How to fix) Fix 2026.4.29 update/rollback leaves mismatched plugin runtime deps and gateway/channel failures [1 comments, 2 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
openclaw/openclaw#75900Fetched 2026-05-03 04:44:32
View on GitHub
Comments
1
Participants
2
Timeline
3
Reactions
2
Timeline (top)
closed ×1commented ×1cross-referenced ×1

After attempting the 2026.4.29 OpenClaw update on macOS, the gateway entered a failed/degraded state and rollback to 2026.4.26 left the plugin runtime dependency tree inconsistent. Channel startup then failed because the active 2026.4.26 plugin runtime deps tree was missing packages required by bundled gateway/plugin code, notably json5.

Root Cause

After attempting the 2026.4.29 OpenClaw update on macOS, the gateway entered a failed/degraded state and rollback to 2026.4.26 left the plugin runtime dependency tree inconsistent. Channel startup then failed because the active 2026.4.26 plugin runtime deps tree was missing packages required by bundled gateway/plugin code, notably json5.

Fix Action

Fix / Workaround

Local mitigation applied

Code Example

Cannot find package 'json5' imported from /Users/chrisdavidson/.openclaw/plugin-runtime-deps/openclaw-2026.4.26-da6bdffc3d96/dist/redact-Cv5sPU4g.js
Did you mean to import "json5/lib/index.js"?

---

[plugins] plugin service failed (browser-control, plugin=browser, root=/opt/homebrew/lib/node_modules/openclaw/dist/extensions/browser): Cannot find package 'json5' imported from /Users/chrisdavidson/.openclaw/plugin-runtime-deps/openclaw-2026.4.26-da6bdffc3d96/dist/redact-Cv5sPU4g.js
[telegram] [default] channel exited: Cannot find package 'json5' imported from /Users/chrisdavidson/.openclaw/plugin-runtime-deps/openclaw-2026.4.26-da6bdffc3d96/dist/redact-Cv5sPU4g.js

---

{
  "json5": "^2.2.3",
  "osc-progress": "^0.3.0"
}

---

/Users/chrisdavidson/.openclaw/plugin-runtime-deps/openclaw-2026.4.26-da6bdffc3d96
json5 missing
osc-progress missing

---

/Users/chrisdavidson/.openclaw/plugin-runtime-deps/openclaw-2026.4.29-da6bdffc3d96
RAW_BUFFERClick to expand / collapse

Summary

After attempting the 2026.4.29 OpenClaw update on macOS, the gateway entered a failed/degraded state and rollback to 2026.4.26 left the plugin runtime dependency tree inconsistent. Channel startup then failed because the active 2026.4.26 plugin runtime deps tree was missing packages required by bundled gateway/plugin code, notably json5.

Environment

  • OS: macOS 26.4.1 arm64
  • Node: 25.8.1
  • OpenClaw package after rollback: 2026.4.26 (be8c246)
  • Update target: 2026.4.29
  • Gateway: LaunchAgent ai.openclaw.gateway, loopback 127.0.0.1:18789

Timeline / observed behavior

  1. Ran the 2026.4.29 update workflow.
  2. Update logs show repeated cycles of:
    • stopping managed gateway service before package update
    • openclaw doctor completing
    • attempting gateway restart
    • gateway health/version check failing
    • gateway port reported free during failure window
  3. Gateway/launchd later showed:
    • LaunchAgent loaded/running on rollback version 2026.4.26
    • previous termination signal: Killed: 9
  4. Stability bundles captured during the failed 4.29 window:
    • gateway.startup_failed
    • unhandled_rejection with ERR_MODULE_NOT_FOUND
  5. After rollback to 2026.4.26, Telegram channel and browser plugin startup failed repeatedly with:
Cannot find package 'json5' imported from /Users/chrisdavidson/.openclaw/plugin-runtime-deps/openclaw-2026.4.26-da6bdffc3d96/dist/redact-Cv5sPU4g.js
Did you mean to import "json5/lib/index.js"?

Affected logs included:

[plugins] plugin service failed (browser-control, plugin=browser, root=/opt/homebrew/lib/node_modules/openclaw/dist/extensions/browser): Cannot find package 'json5' imported from /Users/chrisdavidson/.openclaw/plugin-runtime-deps/openclaw-2026.4.26-da6bdffc3d96/dist/redact-Cv5sPU4g.js
[telegram] [default] channel exited: Cannot find package 'json5' imported from /Users/chrisdavidson/.openclaw/plugin-runtime-deps/openclaw-2026.4.26-da6bdffc3d96/dist/redact-Cv5sPU4g.js

Dependency state found

/opt/homebrew/lib/node_modules/openclaw/package.json for 2026.4.26 includes:

{
  "json5": "^2.2.3",
  "osc-progress": "^0.3.0"
}

But the active runtime deps tree did not contain those packages:

/Users/chrisdavidson/.openclaw/plugin-runtime-deps/openclaw-2026.4.26-da6bdffc3d96
json5 missing
osc-progress missing

There was also a leftover 4.29 runtime deps tree:

/Users/chrisdavidson/.openclaw/plugin-runtime-deps/openclaw-2026.4.29-da6bdffc3d96

That tree had a different/incomplete dependency shape from the 4.26 runtime deps tree.

Expected behavior

  • Update should not leave the gateway down or repeatedly killed/restarted.
  • If an update fails and rolls back, the active version's plugin runtime deps should be regenerated or validated before gateway/channel startup.
  • Channel/plugin startup should not continue using a stale/mismatched runtime deps tree.
  • Missing runtime deps should be reported as an update/rollback integrity failure, not as downstream channel failures.

Actual behavior

  • 4.29 update failed gateway health/version checks.
  • Gateway was killed during the update/restart flow.
  • Rollback left 2026.4.26 active, but runtime deps were missing packages required by active bundled plugin code.
  • Telegram and browser plugin repeatedly failed with ERR_MODULE_NOT_FOUND for json5.

Local mitigation applied

  • Quarantined leftover 4.29 runtime/update artifacts.
  • Added a local no-auto-update guard before any future OpenClaw update workflow can touch the production gateway.
  • Repaired the 2026.4.26 plugin runtime deps tree by installing missing packages into: /Users/chrisdavidson/.openclaw/plugin-runtime-deps/openclaw-2026.4.26-da6bdffc3d96

Suggested fixes

  1. During update/rollback, bind plugin runtime deps strictly to the active OpenClaw version and verify required deps before restarting gateway.
  2. If rollback occurs, delete/regenerate the active version's plugin runtime deps tree or run an integrity check against the active package manifest.
  3. Avoid restarting channel/plugin workers until dependency validation passes.
  4. Include dependency mismatch details in openclaw status --deep or the update failure output.
  5. Consider clearing stale versioned node compile caches during failed update rollback.

Notes

This was observed on a production LaunchAgent install. The system recovered only after quarantining 4.29 leftovers and manually repairing the 4.26 plugin runtime deps.

extent analysis

TL;DR

The most likely fix is to ensure the plugin runtime dependencies are properly updated and validated during the OpenClaw update and rollback process.

Guidance

  • Verify that the openclaw package's package.json includes all required dependencies, such as json5 and osc-progress, and that they are installed in the correct version.
  • During update and rollback, bind plugin runtime dependencies strictly to the active OpenClaw version and verify required dependencies before restarting the gateway.
  • Consider implementing an integrity check for the plugin runtime dependencies tree against the active package manifest to prevent missing or mismatched dependencies.
  • Avoid restarting channel/plugin workers until dependency validation passes to prevent errors like ERR_MODULE_NOT_FOUND.

Example

No code snippet is provided as the issue is more related to the update and rollback process rather than a specific code error.

Notes

The provided information suggests that the issue is specific to the OpenClaw update and rollback process on macOS, and the suggested fixes are targeted towards improving the dependency management during this process.

Recommendation

Apply workaround: Implement the suggested fixes, such as binding plugin runtime dependencies to the active OpenClaw version, verifying required dependencies, and avoiding restarting channel/plugin workers until dependency validation passes. This should help prevent the gateway from entering a failed/degraded state during updates and rollbacks.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

FAQ

Expected behavior

  • Update should not leave the gateway down or repeatedly killed/restarted.
  • If an update fails and rolls back, the active version's plugin runtime deps should be regenerated or validated before gateway/channel startup.
  • Channel/plugin startup should not continue using a stale/mismatched runtime deps tree.
  • Missing runtime deps should be reported as an update/rollback integrity failure, not as downstream channel failures.

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING