Skip to content

[Bug]: Gateway holds stale module import paths after update/rollback — inbound messages silently dropped (ERR_MODULE_NOT_FOUND) #92241

Description

@Newsstand

Bug type

Regression (worked before, now fails)

Beta release blocker

No

Summary

After rolling back from 2026.6.1 → 2026.5.6, the gateway process continues to
hold stale module import paths from the pre-rollback dist tree. The process
appears healthy (systemd reports active/running, channels show connected), but
inbound Signal messages crash silently on delivery with:

ERR_MODULE_NOT_FOUND: cleanup-DlVQZQex.js
(actual file on disk: cleanup-DbGY5-v-.js — different hash post-rollback)

Steps to reproduce

  1. Upgrade openclaw (e.g. 2026.5.x → 2026.6.1)
  2. Roll back (npm install -g [email protected])
  3. Do NOT restart the systemd gateway service after rollback
  4. Send an inbound Signal message
  5. Message is silently dropped (ERR_MODULE_NOT_FOUND in gateway logs)

Expected behavior

Gateway should either:
a) Detect the dist tree mismatch and self-restart, OR
b) Log a visible warning that a restart is required, OR
c) The update/rollback CLI should refuse to exit without performing a clean restart

Actual behavior

Gateway silently drops all inbound messages. No warning. Looks healthy.

OpenClaw version

2026.5.6 (after rollback from 2026.6.1)

Operating system

Windows 11 + WSL2 Ubuntu (Linux 6.6.87.2-microsoft-standard-WSL2) Node v22.22.2

Install method

npm global

Model

anthropic/claude-sonnet-4-6 | think adaptive

Provider / routing chain

openclaw -> signal-cli -> Signal servers (for the affected channel)

Additional provider/model setup details

No response

Logs, screenshots, and evidence

Impact and severity

Impact: Messages are received by signal-cli but never surface to the agent.
The user gets no response. There is no visible error in the UI or obvious log
warning — the gateway looks healthy from the outside.

Always run systemctl --user restart openclaw-gateway.service immediately after
any openclaw update or version pin change. The update CLI should enforce this.

Suggested improvement
Add a post-install hook that forces a clean gateway restart, or at minimum prints
a prominent warning if the running process dist hash doesn't match the installed
version.

Additional information

LKG version 2026.5.6 after rollback from 2026.6.1

Metadata

Metadata

Assignees

No one assigned

    Labels

    P1High-priority user-facing bug, regression, or broken workflow.bugSomething isn't workingclawsweeper:fix-shape-clearClawSweeper found a clear likely implementation shape for this issue.clawsweeper:linked-pr-openClawSweeper found an open linked pull request 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:message-lossChannel message delivery can be lost, duplicated, or misrouted.issue-rating: 🐚 platinum hermitGood issue quality with a plausible reproduction path needing some confirmation.regressionBehavior that previously worked and now fails

    Type

    No type

    Fields

    Priority

    None yet

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions