Symptom
openclaw update prints [update:warning:candidate-config-read-failed] Candidate config read failed: reader process exited with code 1 without a result. The existing service definition is left unchanged.
Evidence what you'll see
- While stopping the Gateway the updater printed
Candidate config read failed; the existing service definition was left unchanged. Retry with the updated CLI. - After the package on disk was
2026.10.5-beta.2(467e83d), the same step printed twice withreader process exited with code 1 without a result. - The log then said
Gateway service definition left unchanged; ask its deployment owner to repair stale metadata if needed.The service was restarted and the updater recordedGateway: restarted and verified.
Why it happens
The candidate config reader child wrote its result frame with fs.writeFileSync(1, …) after making stdout non-blocking. When the config snapshot was larger than the pipe buffer, that write threw EAGAIN, the parent could not parse a result, and the unit refresh was skipped. Pull request 170373 writes the frame through the stream so it can flush.
Affected versions
npm-global OpenClaw 2026.10.5-beta.1 (f283c3c) on Debian 13, user systemd service openclaw-gateway.service. The update used --channel beta --tag 2026.10.5-beta.2 --yes.
Fix steps
0 of 2 done
Your check marks stay in this browser only.
How to check it worked
openclaw updaterefreshes the Gateway service definition instead of printingreader process exited with code 1 without a result.
If it still fails
- No published release tag contains pull request 170373. Tags
v2026.10.3,v2026.10.4, andv2026.10.5were compared against merge043614d9c34fand do not contain it. - The pull request names the pipe buffer as about 64 KB on macOS and about 200 KB on Linux.
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