Skip to content

[macOS Node] Missing system.run.prepare command prevents system.run execution #37591

Description

@roamerxv

[macOS Node] Missing system.run.prepare command prevents system.run execution

Problem

The macOS/iOS node software (version 2026.3.2) does not implement the system.run.prepare command, which causes system.run to fail even when explicitly added to allowCommands in the node configuration.

Environment

  • Node Platform: macOS 26.3.0
  • OpenClaw Version: 2026.3.2
  • Gateway: Linux (2026.3.2)

Current Behavior

When attempting to use nodes.run to execute shell commands on a macOS node:

Error: node command not allowed: the node (platform: macOS 26.3.0) does not support "system.run.prepare"

The node's describe output shows:

  • system.run is in the commands list
  • system.run.prepare is NOT in the commands list
  • system is NOT in the permissions list

Expected Behavior

The macOS/iOS node should implement system.run.prepare to enable shell command execution via system.run, similar to other platforms.

Workaround

Currently using screen recording + ffmpeg frame extraction for screenshots instead of peekaboo:

ffmpeg -i screen_record.mp4 -vframes 1 screenshot.png

Configuration

Gateway openclaw.json:

"nodes": {
  "allowCommands": [
    "camera.snap",
    "camera.clip",
    "camera.list",
    "screen.record",
    "screen.snap",
    "system.run",
    "system.run.prepare",
    "system.which",
    "invoke"
  ]
}

Node's describe response (relevant parts):

{
  "platform": "macOS 26.3.0",
  "version": "2026.3.2",
  "commands": [
    "camera.clip",
    "camera.list",
    "camera.snap",
    "canvas.a2ui.push",
    "canvas.a2ui.pushJSONL",
    "canvas.a2ui.reset",
    "canvas.eval",
    "canvas.hide",
    "canvas.navigate",
    "canvas.present",
    "canvas.snapshot",
    "screen.record",
    "system.notify",
    "system.run",
    "system.which"
    // Note: "system.run.prepare" is MISSING
  ],
  "permissions": {
    "notifications": true,
    "microphone": true,
    "appleScript": true,
    "accessibility": true,
    "screenRecording": true,
    "speechRecognition": true,
    "camera": true,
    "location": true
    // Note: "system" is MISSING
  }
}

Impact

  • Cannot execute shell commands on macOS nodes remotely
  • Cannot use peekaboo for screenshots (must use screen recording workaround)
  • Cannot read calendar, run AppleScripts, or perform other system commands remotely

Request

Please implement system.run.prepare command in the macOS/iOS node software to enable remote shell command execution.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    Priority

    None yet

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions