OpenClaw

OpenClaw "Update failure: reconcile:abandoned" and "gateway-recovery-verification"

Last checked

The error

Update failure: reconcile:abandoned (2026.9.7)

Failed phase: reconcile:abandoned
Reason code: abandoned
Failed phase activating: exit unknown
Failed phase reconcile:abandoned: exit unknown

OpenClaw update failed: abandoned.
Failed: reconcile:abandoned — inactive-driver-dead

The first block is the title and body of the GitHub issue OpenClaw files when you confirm Report update failure. The last two lines are what openclaw update status prints.

reconcile:abandoned is a verdict, not a cause. The Gateway found an update run with no activity for more than 30 minutes whose updater process is gone, so it closed the run as failed with reason abandoned. The real failure is the step listed before it, usually activating or post-update verification. Run openclaw update status --json and openclaw gateway status --deep. If the Gateway is healthy, run openclaw update repair; if not, roll back with openclaw update --tag <known-good-version>.

Why it happens

OpenClaw 2026.9.x records every update as a run with named steps in its state database. When the process driving that run dies or hangs, nothing marks the run finished, so the Gateway reconciles it later and writes the reconcile:abandoned step.

  1. The updater stopped during activating, after the new package was installed but before the Gateway came back. A 2026.9.7 to 2026.9.8 update on Ubuntu left the Gateway stopped until the host was rebooted, then recorded inactive-driver-dead (issue #164800, still open).
  2. The machine was rebooted, the terminal was closed, or the service manager killed the updater mid-run. Reconciliation needs more than 30 minutes of inactivity plus proof that every recorded driver process is dead.
  3. gateway-recovery-verification failed: the update failed, recovery tried to bring the Gateway back, and the follow-up check did not pass (issue #166929 reports "not serving (generation-changed)" and "Doctor could not enter maintenance").
  4. The run failed at requested with reason update-recovery-pending, because a recovery from an earlier failed activation was still pending (issue #164826).
  5. On the 2026.9.4 updater, managed-service-preflight refused the update before the package was replaced, so no later step ever ran.

The fix

  1. 1 See what is actually serving: openclaw gateway status --deep and openclaw --version.
  2. 2 Read the recorded run: openclaw update status --json. Find the first failed step before reconcile:abandoned, that is the one to fix.
  3. 3 If the Gateway is up on the version you wanted, close the run: openclaw update repair, then openclaw doctor --fix.
  4. 4 If the Gateway is down or wrong, preview a rollback: openclaw update --tag <known-good-version> --dry-run, then run it without --dry-run.
  5. 5 If a stale updater process is still alive and the Gateway is stopped, stop that process before retrying. A host reboot also clears it, as in issue #164800.
  6. 6 Retry with openclaw update once the cause is fixed. 2026.9.9 improves recovery after failed updates, but only for updates driven by a 2026.9.9 or later updater.
openclaw update status --json

What each phase name means

requested: the run was admitted but did not progress. With reason update-recovery-pending, an earlier activation still owns recovery; follow the exact recovery command in its diagnostic.

candidate-doctor: shown in the terminal as Checking data migrations. Doctor rehearses the new version's data migrations on a snapshot before anything is swapped. After two identical failures for the same version, automatic updates pause until you fix the cause.

managed-service-preflight: a refusal before package replacement. On macOS the 2026.9.4 Gateway's update.run could fail here with "This command is running inside the gateway process tree." Run openclaw update once from an independent Terminal instead.

post-update verification: the check that the installed and serving builds match the target and the Gateway is ready.

reconcile:abandoned: the bookkeeping step written when the Gateway closes a dead run. The detail is inactive-driver-dead or operator-reconciled-inactive-run.

The 2026.9.7 to 2026.9.8 reboot case

In issue #164800 the updater snapshotted both databases, installed 2026.9.8, drained and stopped the Gateway, then never finished activating. The Gateway stayed down for over an hour until a reboot. After the reboot, openclaw update status showed Failed: activating, Failed: post-update verification and Failed: reconcile:abandoned with inactive-driver-dead. The issue is still open. If this happens to you, save openclaw update status --json and the update helper log from your state directory's logs folder before retrying.

Still failing?

  • Run openclaw triage on the Gateway host to hand the recorded failure to a local coding agent for diagnosis.
  • If rollback is refused with state-migrated-no-rollback, the config or databases changed after migration; restore a verified pre-update backup with its matching release instead.
  • If openclaw update status --json itself hangs, check Gateway CPU and memory first, as the post-reboot Gateway in issue #164800 was overloaded.

Related errors

Full guideOpenClaw Gateway Won't Start After Updating: Every Crash Loop and Its FixEvery error, one pageHow to Update OpenClaw Without Breaking Your Setup

Hit a different error?

Paste any agent error and get the cause and fix in seconds.

Open the decoder

Frequently asked questions

Did reconcile:abandoned break my install?

No. It is the Gateway closing a run that stopped reporting. The damage, if any, happened at the earlier failed step. Check openclaw gateway status --deep to see which version is actually serving.

What is the rollback command?

openclaw update --tag , after previewing it with --dry-run. The updater checks downgrade compatibility and asks for confirmation. A raw npm i -g of the old version skips that recovery workflow and does not reverse migrations.

Why did OpenClaw open a GitHub issue?

It did not do it silently. After a failed interactive update you can pick Report update failure, which shows a sanitized preview and needs a second confirmation. Those issues are titled Update failure: ().

Stop firefighting agent errors

Decoding errors one at a time is the manual version of what BetterClaw automates. Run your agents on a no-code AI agent platform with managed models, retries and config validation built in.

Free plan available · Pro $49/mo · BYOK · 7-day money-back guarantee