openclaw - 💡(How to fix) Fix devices approve deadlock after gateway restart — node-host repair request cannot be approved via CLI [1 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
openclaw/openclaw#59889Fetched 2026-04-08 02:39:11
View on GitHub
Comments
0
Participants
1
Timeline
3
Reactions
0
Author
Participants
Timeline (top)
labeled ×2cross-referenced ×1

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.

Root Cause

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.

Code Example

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
RAW_BUFFERClick to expand / collapse

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 <requestId> → 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.

extent analysis

TL;DR

Manually moving the pending entry into ~/.openclaw/devices/paired.json and restarting the gateway may resolve the deadlock issue.

Guidance

  • Verify the presence of a pending repair request using openclaw devices list and check for a valid requestId.
  • Attempt to approve the request using openclaw devices approve <requestId>, even though it may return an "unknown requestId" error.
  • If the above steps fail, try the suggested workaround: manually move the pending entry into ~/.openclaw/devices/paired.json and restart the gateway.
  • After applying the workaround, re-run openclaw nodes status and other CLI commands to ensure the gateway is no longer locked.
  • Consider running openclaw doctor --fix again to see if it can detect and resolve any remaining issues.

Example

No code snippet is provided as the issue does not require a code change, but rather a manual configuration adjustment.

Notes

The provided workaround may not be a permanent fix, and the root cause of the issue may still need to be addressed. Additionally, this workaround assumes that the ~/.openclaw/devices/paired.json file is accessible and editable.

Recommendation

Apply the workaround by manually moving the pending entry into ~/.openclaw/devices/paired.json and restarting the gateway, as it is the most straightforward way to resolve the deadlock issue.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

FAQ

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.

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING