Symptom
openclaw update with --timeout 3600 stays in previous-gateway verification after that budget. It never prints a terminal result.
Evidence what you'll see
- The updater printed
Budget 3600000ms (explicit --timeout), then kept repeatingprevious gateway verification: Previous-Gateway readiness verification: service, listener identity, version/build, health RPC and /readyz.andGateway is not ready yet; continuing update readiness verification. - It started at 20:10 local, wrote its last stderr line at 21:18, and was still running at 21:50 until the operator sent SIGTERM. No JSON landed on stdout.
- The candidate was meant to crash at live service start.
launchctl listshowed last exit 1 and a crash-loop.
Why it happens
A maintainer comment says --timeout is applied per phase, and each readiness, verification, and recovery phase starts a fresh deadline, so a failed candidate can spend about four to five times the budget. On macOS, LaunchAgent restart also calls launchctl with no timeout, and the recovery health wait prints no progress.
Affected versions
OpenClaw 2026.10.2 (b8952d4), macOS Darwin 27.0.0 arm64, Node v26.10.0, npm global prefix in a scratch prefix. Scratch profile proof2, port 27789, launchd job ai.openclaw.proof2 from openclaw gateway install.
Fix steps
0 of 2 done
Your check marks stay in this browser only.
How to check it worked
- A candidate that crashes at live start ends inside the
--timeoutbudget with a terminal failed outcome, instead of repeatingGateway is not ready yet; continuing update readiness verificationpast that budget.
If it still fails
- No published release tag contains pull request 171077. Tags
v2026.10.3,v2026.10.4, andv2026.10.5were compared against merge26e1b25df3d5and do not contain it. - The same forced-failure proof on Linux (Raspberry Pi, user systemd service) finished in about 14 minutes with
state-migrated-no-rollbackand the gateway left down.
Sources and credit
Summarized in our own words from these public reports. Credit goes to their authors.
Provided as is, without warranty. Try changes in a non-production environment and back up first. Security-related steps: verify against the official docs. Terms · Request removal or attribution change
Hit an error we don't cover? Submit it