What happened?
Summary
The documented emergency command for force-update.sh hard-syncs and rebuilds the ClawBox setup app, then reports Done, but it does not run or clearly require the normal full updater/post-update recovery path.
That distinction matters during gateway recovery: an operator can reasonably interpret the final success message as a completed ClawBox/OpenClaw update even though only the updater UI was bootstrapped.
Steps to reproduce
Observed behaviour
Running the documented command:
bash <(curl -fsSL https://raw.githubusercontent.com/id-robots/clawbox/main/scripts/force-update.sh)
performed a hard fetch/reset/clean of the ClawBox checkout, rebuilt the Next.js app, restarted clawbox-setup, and printed Done when that service became active.
It did not:
- run the normal full updater workflow;
- update OpenClaw;
- perform gateway verification/channel smoke checks;
- restore supported local post-update extensions after
git clean -fd;
- explain that a second updater step was still required.
In the observed recovery, neither OpenClaw nor ClawBox advanced because the checkout was already at the target commit. The hard clean removed locally maintained post-update extensions, and follow-up smoke checks failed until they were restored.
Expected behaviour
Keep the hard reset as an explicit recovery tool, but make its bootstrap-only contract unmistakable.
Preferred options:
- After
clawbox-setup is healthy, automatically hand off to the same full updater API/workflow used by the UI; or
- Stop with a prominent message that recovery is incomplete and provide the exact next step to run the normal updater and post-update verification.
Before destructive reset/clean, the script should also state clearly that uncommitted and untracked checkout content will be discarded. If ClawBox supports local extension hooks, invoke their documented backup/restore boundary rather than silently deleting them.
Acceptance criteria
- Final output distinguishes
updater UI restored from full update complete.
- The default recovery path reaches normal post-update gateway verification.
- The script never claims OpenClaw was updated when it was not.
- Destructive checkout cleanup is disclosed before execution.
- Tests cover an already-current checkout, an updater-code recovery, and a failed gateway after setup-app recovery.
Related
PRs #263 and #265 added post-update gateway verification to the normal updater. The issue is that the standalone bootstrap script can stop before that verified path.
ClawBox version
ClawBox main at commit 8cb6a43
OpenClaw version
OpenClaw 2026.7.1
Jetson model / JetPack
Ubuntu 22.04 LTS, AArch64
Logs and screenshots
What happened?
Summary
The documented emergency command for
force-update.shhard-syncs and rebuilds the ClawBox setup app, then reportsDone, but it does not run or clearly require the normal full updater/post-update recovery path.That distinction matters during gateway recovery: an operator can reasonably interpret the final success message as a completed ClawBox/OpenClaw update even though only the updater UI was bootstrapped.
Steps to reproduce
Observed behaviour
Running the documented command:
bash <(curl -fsSL https://raw.githubusercontent.com/id-robots/clawbox/main/scripts/force-update.sh)performed a hard fetch/reset/clean of the ClawBox checkout, rebuilt the Next.js app, restarted
clawbox-setup, and printedDonewhen that service became active.It did not:
git clean -fd;In the observed recovery, neither OpenClaw nor ClawBox advanced because the checkout was already at the target commit. The hard clean removed locally maintained post-update extensions, and follow-up smoke checks failed until they were restored.
Expected behaviour
Keep the hard reset as an explicit recovery tool, but make its bootstrap-only contract unmistakable.
Preferred options:
clawbox-setupis healthy, automatically hand off to the same full updater API/workflow used by the UI; orBefore destructive reset/clean, the script should also state clearly that uncommitted and untracked checkout content will be discarded. If ClawBox supports local extension hooks, invoke their documented backup/restore boundary rather than silently deleting them.
Acceptance criteria
updater UI restoredfromfull update complete.Related
PRs #263 and #265 added post-update gateway verification to the normal updater. The issue is that the standalone bootstrap script can stop before that verified path.
ClawBox version
ClawBox main at commit
8cb6a43OpenClaw version
OpenClaw 2026.7.1
Jetson model / JetPack
Ubuntu 22.04 LTS, AArch64
Logs and screenshots