Node Troubleshooting
Node troubleshooting
Section titled “Node troubleshooting”Use this page when a node is visible in status but node tools fail.
Command ladder
Section titled “Command ladder”openclaw statusopenclaw gateway statusopenclaw logs --followopenclaw doctoropenclaw channels status --probeThen run node specific checks:
openclaw nodes statusopenclaw nodes describe --node <idOrNameOrIp>openclaw approvals get --node <idOrNameOrIp>Healthy signals:
- Node is connected and paired for role
node. nodes describeincludes the capability you are calling.- Exec approvals show expected mode/allowlist.
Foreground requirements
Section titled “Foreground requirements”canvas.*, camera.*, and screen.* are foreground only on iOS/Android nodes.
Quick check and fix:
openclaw nodes describe --node <idOrNameOrIp>openclaw nodes canvas snapshot --node <idOrNameOrIp>openclaw logs --followIf you see NODE_BACKGROUND_UNAVAILABLE, bring the node app to the foreground and retry.
Permissions matrix
Section titled “Permissions matrix”| Capability | iOS | Android | macOS node app | Typical failure code |
|---|---|---|---|---|
camera.snap, camera.clip | Camera (+ mic for clip audio) | Camera (+ mic for clip audio) | Camera (+ mic for clip audio) | *_PERMISSION_REQUIRED |
screen.record | Screen Recording (+ mic optional) | Screen capture prompt (+ mic optional) | Screen Recording | *_PERMISSION_REQUIRED |
location.get | While Using or Always (depends on mode) | Foreground/Background location based on mode | Location permission | LOCATION_PERMISSION_REQUIRED |
system.run | n/a (node host path) | n/a (node host path) | Exec approvals required | SYSTEM_RUN_DENIED |
Pairing versus approvals
Section titled “Pairing versus approvals”These are different gates:
- Device pairing: can this node connect to the gateway?
- Gateway node command policy: is the RPC command ID allowed by
gateway.nodes.allowCommands/denyCommandsand platform defaults? - Exec approvals: can this node run a specific shell command locally?
Quick checks:
openclaw devices listopenclaw nodes statusopenclaw approvals get --node <idOrNameOrIp>openclaw approvals allowlist add --node <idOrNameOrIp> "/usr/bin/uname"If pairing is missing, approve the node device first.
If nodes describe is missing a command, check the gateway node command policy and whether the node actually declared that command on connect.
If pairing is fine but system.run fails, fix exec approvals/allowlist on that node.
Node pairing is an identity/trust gate, not a per-command approval surface. For system.run, the per-node policy lives in that node’s exec approvals file (openclaw approvals get --node ...), not in the gateway pairing record.
Common node error codes
Section titled “Common node error codes”NODE_BACKGROUND_UNAVAILABLE→ app is backgrounded; bring it foreground.CAMERA_DISABLED→ camera toggle disabled in node settings.*_PERMISSION_REQUIRED→ OS permission missing/denied.LOCATION_DISABLED→ location mode is off.LOCATION_PERMISSION_REQUIRED→ requested location mode not granted.LOCATION_BACKGROUND_UNAVAILABLE→ app is backgrounded but only While Using permission exists.SYSTEM_RUN_DENIED: approval required→ exec request needs explicit approval.SYSTEM_RUN_DENIED: allowlist miss→ command blocked by allowlist mode. On Windows node hosts, shell-wrapper forms likecmd.exe /c ...are treated as allowlist misses in allowlist mode unless approved via ask flow.
Fast recovery loop
Section titled “Fast recovery loop”openclaw nodes statusopenclaw nodes describe --node <idOrNameOrIp>openclaw approvals get --node <idOrNameOrIp>openclaw logs --followIf still stuck:
- Re-approve device pairing.
- Re-open node app (foreground).
- Re-grant OS permissions.
- Recreate/adjust exec approval policy.
Related: