# Gateway migration stalls on legacy sessions and approvals after update

**URL:** <https://community.openclaw.ai/t/gateway-migration-stalls-on-legacy-sessions-and-approvals-after-update/71>\
**Category:** Troubleshooting\
**Tags:** approvals, gateway, sessions, troubleshooting, updates\
**Created:** [September 14, 2026, 10:31pm UTC](https://community.openclaw.ai/t/gateway-migration-stalls-on-legacy-sessions-and-approvals-after-update/71 "2026-09-14T22:31:05Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![ArchivedMember](https://avatars.discourse-cdn.com/v4/letter/a/e56c9b/32.png) [@ArchivedMember](https://community.openclaw.ai/u/ArchivedMember)\
**Post date:** [September 14, 2026, 10:31pm UTC](https://community.openclaw.ai/t/gateway-migration-stalls-on-legacy-sessions-and-approvals-after-update/71/1 "2026-09-14T22:31:05Z")

</div>

> **Adapted community discussion:** Paraphrased and condensed from an anonymized public OpenClaw Discord support conversation from September 2026. Technical guidance was reviewed for OpenClaw 2026.9.3.

I updated my Mac and OpenClaw no longer works. The CLI reports missing multi-agent ownership, the Gateway refuses local connections, and Doctor has several pending state migrations.

---

<div class="post-metadata">

**Author:** ![OpenClawSupport](https://avatars.discourse-cdn.com/v4/letter/o/49beb7/32.png) [@OpenClawSupport](https://community.openclaw.ai/u/OpenClawSupport)\
**Post date:** [September 14, 2026, 10:31pm UTC](https://community.openclaw.ai/t/gateway-migration-stalls-on-legacy-sessions-and-approvals-after-update/71/2 "2026-09-14T22:31:05Z")

</div>

Confirm the version and agent IDs first. An unscoped status command can fail in a multi-agent setup even when the CLI itself works. Use `openclaw agents list --bindings`, target diagnostic commands with the intended agent ID, and let Doctor report the migration blockers before using any force option.

---

<div class="post-metadata">

**Author:** ![ArchivedMember](https://avatars.discourse-cdn.com/v4/letter/a/e56c9b/32.png) [@ArchivedMember](https://community.openclaw.ai/u/ArchivedMember)\
**Post date:** [September 14, 2026, 10:31pm UTC](https://community.openclaw.ai/t/gateway-migration-stalls-on-legacy-sessions-and-approvals-after-update/71/3 "2026-09-14T22:31:05Z")

</div>

Doctor refuses to mutate shared SQLite state because a managed Gateway process still owns the directory. The service looks loaded, but it never opens the port.

---

<div class="post-metadata">

**Author:** ![OpenClawSupport](https://avatars.discourse-cdn.com/v4/letter/o/49beb7/32.png) [@OpenClawSupport](https://community.openclaw.ai/u/OpenClawSupport)\
**Post date:** [September 14, 2026, 10:31pm UTC](https://community.openclaw.ai/t/gateway-migration-stalls-on-legacy-sessions-and-approvals-after-update/71/4 "2026-09-14T22:31:05Z")

</div>

Stop the managed Gateway cleanly before state repair. When foreground startup identifies a legacy session store, use the dedicated migration in dry-run mode, then import only the agent named by the blocker:

```bash
openclaw doctor --session-sqlite dry-run --session-sqlite-agent <agent-id>
openclaw doctor --session-sqlite import --session-sqlite-agent <agent-id>

```

Do not delete or move `sessions.json`. Repeat only for another agent if foreground startup names it explicitly.

---

<div class="post-metadata">

**Author:** ![ArchivedMember](https://avatars.discourse-cdn.com/v4/letter/a/e56c9b/32.png) [@ArchivedMember](https://community.openclaw.ai/u/ArchivedMember)\
**Post date:** [September 14, 2026, 10:31pm UTC](https://community.openclaw.ai/t/gateway-migration-stalls-on-legacy-sessions-and-approvals-after-update/71/5 "2026-09-14T22:31:05Z")

</div>

The targeted session imports complete, and the Gateway can run in the foreground. The remaining problem is that every Telegram account stays disconnected because the legacy exec-approvals migration still blocks channel startup.

---

<div class="post-metadata">

**Author:** ![OpenClawSupport](https://avatars.discourse-cdn.com/v4/letter/o/49beb7/32.png) [@OpenClawSupport](https://community.openclaw.ai/u/OpenClawSupport)\
**Post date:** [September 14, 2026, 10:31pm UTC](https://community.openclaw.ai/t/gateway-migration-stalls-on-legacy-sessions-and-approvals-after-update/71/6 "2026-09-14T22:31:05Z")

</div>

Preserve the approvals file because it contains the policy behind host allow prompts. If the installed stable build cannot converge that migration and a current supported update contains the fix, preview and apply that update, then stop the Gateway, run Doctor, and start it again. Ensure several gigabytes of disk space are free before retrying an update that previously failed for capacity. Verify with `openclaw channels status --probe`.

---

<div class="post-metadata">

**Author:** ![ArchivedMember](https://avatars.discourse-cdn.com/v4/letter/a/e56c9b/32.png) [@ArchivedMember](https://community.openclaw.ai/u/ArchivedMember)\
**Post date:** [September 14, 2026, 10:31pm UTC](https://community.openclaw.ai/t/gateway-migration-stalls-on-legacy-sessions-and-approvals-after-update/71/7 "2026-09-14T22:31:06Z")

</div>

After freeing disk space, the update and Gateway restart completed. The Gateway is reachable and all six Telegram accounts report running, connected, and working.

---

<div class="post-metadata">

**Author:** ![OpenClawSupport](https://avatars.discourse-cdn.com/v4/letter/o/49beb7/32.png) [@OpenClawSupport](https://community.openclaw.ai/u/OpenClawSupport)\
**Post date:** [September 14, 2026, 10:31pm UTC](https://community.openclaw.ai/t/gateway-migration-stalls-on-legacy-sessions-and-approvals-after-update/71/8 "2026-09-14T22:31:06Z")

</div>

That is a clean recovery. The newer build completed the migration, the Gateway is healthy, and each configured Telegram transport is connected. Keep the preserved approvals and pre-update backup until the recovery has been stable for a while.
