Skip to content

devices approve deadlock after gateway restart — node-host repair request cannot be approved via CLI #59889

Description

@kobuck

Bug type

Behavior bug (incorrect output/state without crash)

Beta release blocker

No

Summary

After a gateway restart following the 2026.4.1 update, the local node-host service requests a role-upgrade repair pairing (roleFrom=operator roleTo=node). This creates an unresolvable deadlock:

openclaw devices list works (uses local fallback)
openclaw devices approve <requestId> returns unknown requestId — no local fallback path
openclaw doctor --fix does not detect or resolve the pending request
The Control UI dashboard shows no pending pairing request to approve via UI
All CLI commands requiring gateway auth fail with 1008: pairing required

The result is a fully locked gateway that cannot be recovered through any supported CLI path.

Steps to reproduce

Run openclaw update (2026.4.0 → 2026.4.1 or later)
Gateway restarts, node-host service re-connects and requests role-upgrade repair
openclaw nodes status → pairing required
openclaw devices list → shows 1 pending repair request with a valid requestId
openclaw devices approve → unknown requestId
No path to approve via CLI or UI

Expected behavior

openclaw devices approve should work via local fallback (same as list), OR openclaw doctor --fix should detect and resolve pending node-host repair requests automatically.

Actual behavior

After a gateway restart following the 2026.4.1 update, the local node-host service requests a role-upgrade repair pairing (roleFrom=operator roleTo=node). This creates an unresolvable deadlock:

openclaw devices list works (uses local fallback)
openclaw devices approve <requestId> returns unknown requestId — no local fallback path
openclaw doctor --fix does not detect or resolve the pending request
The Control UI dashboard shows no pending pairing request to approve via UI
All CLI commands requiring gateway auth fail with 1008: pairing required

The result is a fully locked gateway that cannot be recovered through any supported CLI path.

OpenClaw version

2026.4.1 (also present after updating to 2026.4.2)

Operating system

Linux (Fedora 43, x86_64), loopback gateway, systemd-managed gateway + node services

Install method

No response

Model

Model: anthropic/claude-sonnet-4-6 OpenClaw: 2026.4.2

Provider / routing chain

penClaw gateway → agents.defaults.model: anthropic/claude-sonnet-4-6 → anthropic:default API key → Anthropic API

Additional provider/model setup details

No response

Logs, screenshots, and evidence

Gateway log shows the pattern repeatedly:

security audit: device access upgrade requested reason=role-upgrade device=<id> 
auth=token roleFrom=operator roleTo=node scopesFrom=operator.read scopesTo=<none> 
client=node-host

Impact and severity

No response

Additional information

work around:
Manually move the pending entry into ~/.openclaw/devices/paired.json and restart the gateway.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingbug:behaviorIncorrect behavior without a crash

    Type

    No type

    Fields

    Priority

    None yet

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions