Node troubleshooting
Use this page when a node is visible in status but node tools fail.Command ladder
- Node is connected and paired for role
node. nodes describeincludes the capability you are calling.- Exec approvals show expected mode/allowlist.
Foreground requirements
canvas.*, camera.*, and screen.* are foreground only on iOS/Android nodes.
Quick check and fix:
NODE_BACKGROUND_UNAVAILABLE, bring the node app to the foreground and retry.
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
These are different gates:- Device pairing: can this node connect to the gateway?
- Exec approvals: can this node run a specific shell command?
system.run fails, fix exec approvals/allowlist.
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.
Fast recovery loop
- Re-approve device pairing.
- Re-open node app (foreground).
- Re-grant OS permissions.
- Recreate/adjust exec approval policy.