Skip to content

macOS update can leave manual-update loop and stale node host causing Gateway restart storm #87928

Description

@Neomail2

Summary

After upgrading OpenClaw from 2026.5.22 to 2026.5.27 on macOS, the Gateway entered a restart loop every ~75 seconds.

The visible loop was:

[ws] node version mismatch ... clientVersion=2026.5.18 gatewayVersion=2026.5.27; closing for supervisor restart
[gateway] SIGTERM received
... gateway relaunch ...
[ws] node version mismatch ...

This required manual launchd intervention to recover the installation.

Environment

  • OpenClaw before update: 2026.5.22
  • OpenClaw after update: 2026.5.27 (27ae826)
  • npm package version: 2026.5.27
  • Node.js: v25.8.1
  • macOS: 26.3 build 25D125
  • Gateway service: LaunchAgent ai.openclaw.gateway
  • Gateway bind: 127.0.0.1:18789

What happened

The manual update launched on 2026-05-28 via a launchd submitted job:

ai.openclaw.manual-update-20260528-1803

The update did not settle cleanly and produced two nested failure modes:

  1. The manual update job was still submitted with KeepAlive, so it repeatedly relaunched openclaw update even though the package was already at 2026.5.27. In this installation it reached runs = 787.
  2. Each no-op update pass still did Stopping managed gateway service..., repeatedly killing/restarting the Gateway.
  3. One iteration left ai.openclaw.gateway unloaded/stopped rather than bootstrapped.
  4. Separately, ai.openclaw.node had been running since before the update and still had old 2026.5.18 code in memory.
  5. When the Gateway came back as 2026.5.27, the stale node host connected as 2026.5.18; the Gateway detected the mismatch and closed for supervisor restart, creating the visible loop.

Manual recovery that worked

launchctl bootout gui/501/ai.openclaw.manual-update-20260528-1803
launchctl kickstart -k gui/501/ai.openclaw.node
launchctl bootstrap gui/501 ~/Library/LaunchAgents/ai.openclaw.gateway.plist

After that:

  • openclaw gateway status showed LaunchAgent loaded, runtime active, connectivity probe OK.
  • CLI version and Gateway version both reported 2026.5.27.
  • No further node version mismatch or Gateway SIGTERM events were observed after the clean restart.

Expected behavior

openclaw update on macOS should leave the managed runtime in a coherent state:

  • no lingering ai.openclaw.manual-update-* submitted job relaunching after a successful/no-op update;
  • Gateway service bootstrapped/running if it was managed before the update;
  • node host service restarted or otherwise made version-compatible with the upgraded Gateway;
  • if a node/gateway version mismatch is detected after update, diagnostics should point to restarting ai.openclaw.node rather than producing a Gateway restart storm.

Related issues

This appears related to, but not fully covered by:

This field report combines all three symptoms in one post-update incident.

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:crash-loopCrash, hang, restart loop, or process-level availability failure.impact:session-stateSession, memory, transcript, context, or agent state can drift or corrupt.impact:ux-release-blockerA non-technical user is blocked without terminal, logs, config, or support.issue-rating: 🐚 platinum hermitGood issue quality with a plausible reproduction path needing some confirmation.maturity:stableIssue affects a taxonomy feature currently scored M4/M5.staleMarked as stale due to inactivity

    Type

    No type

    Fields

    Priority

    None yet

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions