#Downgrade to prior version
1 messages · Page 1 of 1 (latest)
For package installs, your command is the intended clean path:
openclaw update --tag 2026.4.24 --dry-run
openclaw update --tag 2026.4.24 --yes
openclaw doctor
openclaw gateway restart
openclaw --version
One gotcha: if you mean “downgrade from 2026.4.24”, target the earlier version instead, e.g.:
openclaw update --tag 2026.4.23 --yes
If openclaw update itself is what’s failing, first paste:
openclaw --version
openclaw update status
…and the exact error. Version/install method matters here.
Recovery fallback for a package install is to re-run the installer pinned to the version:
curl -fsSL https://openclaw.ai/install.sh | bash -s -- --install-method npm --version 2026.4.24
Docs: https://docs.openclaw.ai/install/updating and https://docs.openclaw.ai/install/development-channels
Using the first intended cleanest path you recommended, everything checks out but I get the following error:
Completion cache update failed: Error: spawnSync /opt/homebrew/Cellar/node/25.6.1/bin/node ETIMEDOUT
--
Also, the gateway keeps failing to run.
That completion-cache error is probably not the gateway failure. It’s the shell-completion refresh timing out while spawning Node; if the update otherwise finished, I’d ignore that for now and debug the gateway.
The suspicious bit is this path:
/opt/homebrew/Cellar/node/25.6.1/bin/node
OpenClaw recommends Node 24 as the default runtime, with Node 22.14+ supported, so I’d remove Node 25 from the equation first. (docs.openclaw.ai)
Try:
node -v
which node
which openclaw
openclaw --version
openclaw update status
openclaw gateway status
openclaw logs --follow
If you’re trying to get stable again, I’d target 2026.4.23, not 2026.4.24:
openclaw update --tag 2026.4.23 --yes --no-restart
openclaw gateway install --force
openclaw gateway restart
openclaw gateway status
Docs recommend doctor, gateway restart, and health/status checks after pinning/updating. (docs.openclaw.ai)
If it still fails, paste the first fatal-looking block from:
openclaw logs --follow
The actual gateway error will be in there; the completion cache timeout is likely just noise.
I think you're misunderstanding. I'm trying to downgrade from 4.25 to 4.24
You’re right — my bad. For 4.25 → 4.24, this is the correct target:
openclaw update --tag 2026.4.24 --yes --no-restart
openclaw --version
Then reinstall/restart the gateway from that downgraded binary:
openclaw gateway install --force
openclaw gateway restart
openclaw gateway status --deep
If it blocks because 4.24 is older than the config last touched by 4.25, use the downgrade override only for that command:
OPENCLAW_ALLOW_OLDER_BINARY_DESTRUCTIVE_ACTIONS=1 openclaw gateway install --force
OPENCLAW_ALLOW_OLDER_BINARY_DESTRUCTIVE_ACTIONS=1 openclaw gateway restart
The Completion cache update failed ... ETIMEDOUT is likely non-fatal shell completion cleanup. Fix gateway first; later you can retry:
openclaw completion --write-state
If gateway still fails, paste:
openclaw gateway status --deep
openclaw logs --tail 120
Yep, this output nails it: 4.24 is installed, but the gateway is refusing to start because openclaw.json was last written by 2026.4.25.
Do this to intentionally accept the downgrade and re-stamp the config under 4.24:
cp ~/.openclaw/openclaw.json ~/.openclaw/openclaw.json.before-4.24-downgrade.$(date +%Y%m%d-%H%M%S).bak
openclaw config set gateway.port 18789 --strict-json
openclaw config get meta.lastTouchedVersion
openclaw gateway restart
openclaw gateway status --deep
You want meta.lastTouchedVersion to show 2026.4.24.
Also, my bad on the log command — openclaw logs --tail is wrong. Use:
openclaw logs --limit 120
or since the gateway is down:
tail -n 120 ~/.openclaw/logs/gateway.err.log
tail -n 120 ~/.openclaw/logs/gateway.log
If restart still refuses with the newer-config guard, use the break-glass env for the command:
OPENCLAW_ALLOW_OLDER_BINARY_DESTRUCTIVE_ACTIONS=1 openclaw gateway restart
This is still not working. I tried everything above. Would downgrading to 4.23 or whatever version came before 4.24 make more sense?
Yes — 2026.4.23 is the stable release immediately before 2026.4.24, so it’s a reasonable next rollback target.
But important: if the blocker is still:
Config was last written by a newer OpenClaw (2026.4.25)
then downgrading to 4.23 won’t fix that by itself. You’ll need to re-stamp the config after installing 4.23.
Try this exact sequence:
openclaw update --tag 2026.4.23 --yes --no-restart
openclaw --version
cp ~/.openclaw/openclaw.json ~/.openclaw/openclaw.json.before-4.23-downgrade.$(date +%Y%m%d-%H%M%S).bak
openclaw config set meta.lastTouchedVersion 2026.4.23
openclaw config get meta.lastTouchedVersion
OPENCLAW_ALLOW_OLDER_BINARY_DESTRUCTIVE_ACTIONS=1 openclaw gateway install --force
openclaw gateway restart
openclaw gateway status --deep
If it still won’t listen on 18789, paste:
tail -n 120 ~/.openclaw/logs/gateway.err.log
tail -n 120 ~/.openclaw/logs/gateway.log
Also: once the gateway is starting again, I’d still get off Node 25 and use Node 24. But the immediate issue from your status output is the newer-config guard.
Something about these sets of changes has broken something in terminal. Now even trying to update to the latest verson 4.25 doesn't work. The "openclaw update" command is returning various errors. What's a different command I can run to force it to update?
Yeah — if openclaw update is wedged, bypass the updater and reinstall the package directly via the installer.
For exact 2026.4.25:
curl -fsSL https://openclaw.ai/install.sh | bash -s -- --install-method npm --version 2026.4.25 --no-onboard
Then refresh the LaunchAgent from the newly installed binary:
openclaw --version
OPENCLAW_ALLOW_OLDER_BINARY_DESTRUCTIVE_ACTIONS=1 openclaw gateway install --force
openclaw gateway restart
openclaw gateway status --deep
If you want whatever is currently stable/latest instead:
curl -fsSL https://openclaw.ai/install.sh | bash -s -- --install-method npm --no-onboard
This is the recovery path documented for when openclaw update fails. If that installer command also errors, paste the installer output plus:
which openclaw
openclaw --version
node -v
which node
Got it. This is not a “port already in use” problem — pid 7949 is the OpenClaw gateway itself. The problem is: the process is listening, but the WS/RPC probe times out, so startup is likely wedged after binding the port.
First isolate whether channels/sidecars are hanging startup:
launchctl setenv OPENCLAW_SKIP_CHANNELS 1
openclaw gateway restart
sleep 10
openclaw gateway status --deep
If that makes the probe pass, the core gateway is fine and one channel/sidecar is wedging startup. Undo after testing with:
launchctl unsetenv OPENCLAW_SKIP_CHANNELS
openclaw gateway restart
If it still times out, run it in foreground so we can see the exact hang point:
openclaw gateway stop
OPENCLAW_GATEWAY_STARTUP_TRACE=1 \
OPENCLAW_LOG_LEVEL=debug \
openclaw gateway --port 18789 --verbose --ws-log compact
Also grab the real logs:
tail -n 200 ~/.openclaw/logs/gateway.err.log
tail -n 200 ~/.openclaw/logs/gateway.log