openclaw - 💡(How to fix) Fix [Bug]: Mac companion app does not respond to system.run probe — skills requiring Mac binaries fail [2 comments, 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#53759Fetched 2026-04-08 01:23:47
View on GitHub
Comments
2
Participants
1
Timeline
2
Reactions
0
Participants
Timeline (top)
commented ×2

Mac companion app node fails to execute skills that require local binaries (memo, things). The gateway times out probing the Mac node for system.run capability, even though the Mac app is connected and otherwise functional.

Root Cause

Mac companion app node fails to execute skills that require local binaries (memo, things). The gateway times out probing the Mac node for system.run capability, even though the Mac app is connected and otherwise functional.

Fix Action

Fix / Workaround

  1. Workaround: Added denyCommands: ["system.run", "system.run.prepare", "system.which"] to suppress the timeout errors, but this means Mac skills simply don't work

Code Example

{
  "gateway": {
    "bind": "lan",
    "nodes": {
      "denyCommands": []
    }
  }
}

---

{
  "PATH": "/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin"
}

---

{
  "autoAllowSkills": true,
  "security": "allowlist",
  "ask": "on-miss"
}

---

$ which memo things
/opt/homebrew/bin/memo
/opt/homebrew/bin/things

$ memo --version
memo 1.2.3

$ things --version  
things-cli 0.5.1

---

[node] remote bin probe timed out (blaird)
RAW_BUFFERClick to expand / collapse

Summary

Mac companion app node fails to execute skills that require local binaries (memo, things). The gateway times out probing the Mac node for system.run capability, even though the Mac app is connected and otherwise functional.

Environment

  • OpenClaw Gateway: 2026.3.23-2 on Linux (Manjaro, x64)
  • Mac Companion App: 2026.3.14 (signed release from GitHub)
  • macOS: Sequoia 15.3.2 (M1 Pro)
  • Connection: SSH tunnel over LAN (gateway.bind: lan)
  • Skills affected: apple-notes, things-mac, bear-notes (any skill requiring Mac-side binary execution)

Configuration

Gateway config (~/.openclaw/openclaw.json):

{
  "gateway": {
    "bind": "lan",
    "nodes": {
      "denyCommands": []
    }
  }
}

Mac node config (~/.openclaw/node.json):

{
  "PATH": "/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin"
}

Mac exec approvals (~/.openclaw/exec-approvals.json):

{
  "autoAllowSkills": true,
  "security": "allowlist",
  "ask": "on-miss"
}

Binaries Confirmed Working on Mac

$ which memo things
/opt/homebrew/bin/memo
/opt/homebrew/bin/things

$ memo --version
memo 1.2.3

$ things --version  
things-cli 0.5.1

Symptoms

  1. Gateway logs show probe timeout when attempting to use Mac-dependent skills:
[node] remote bin probe timed out (blaird)
  1. Skills that depend on Mac binaries fail silently or fall back to "not available"

  2. Direct node connection works — the Mac app shows "Connected" and can receive messages

  3. Workaround: Added denyCommands: ["system.run", "system.run.prepare", "system.which"] to suppress the timeout errors, but this means Mac skills simply don't work

Expected Behavior

Gateway should successfully probe Mac node for binary availability via system.run, allowing skills like apple-notes and things-mac to execute.

Actual Behavior

Probe times out after ~30 seconds. The Mac app appears to not implement or respond to system.run / system.which commands from the gateway.

Possibly Related

  • Issue #5156 describes similar remote Mac node probe failures
  • Issue #40527 mentions co-located node probe issues (less relevant)

Questions

  1. Does the Mac companion app actually implement system.run for remote skill binary probes?
  2. Is there a different mechanism needed to enable skill binary execution on Mac nodes?
  3. Should node.json PATH override be sufficient, or is there additional Mac app configuration required?

extent analysis

Fix Plan

To resolve the issue of the Mac companion app node failing to execute skills that require local binaries, we need to implement the system.run command in the Mac app.

Here are the steps to fix the issue:

  • Update the Mac companion app to implement the system.run command.
  • Ensure the node.json configuration file has the correct PATH override.
  • Verify that the Mac app is configured to allow remote skill binary execution.

Code Changes

The Mac companion app needs to handle the system.run command. Here's an example of how this can be implemented in Node.js:

// Handle system.run command
case 'system.run':
  const cmd = message.data.cmd;
  const args = message.data.args;
  const filePath = message.data.filePath;

  // Check if the command exists in the system's PATH
  const which = require('which');
  which(cmd, (err, path) => {
    if (err) {
      // Command not found
      sendResponse(message, { success: false, error: 'Command not found' });
    } else {
      // Run the command
      const childProcess = require('child_process');
      const result = childProcess.spawnSync(cmd, args, { stdio: 'pipe' });
      sendResponse(message, { success: true, output: result.stdout.toString() });
    }
  });
  break;

Configuration Changes

Ensure the node.json configuration file has the correct PATH override:

{
  "PATH": "/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin"
}

Verification

To verify that the fix worked:

  1. Restart the Mac companion app and the OpenClaw gateway.
  2. Try running a skill that requires a local binary, such as apple-notes or things-mac.
  3. Check the gateway logs for any errors or timeouts.
  4. Verify that the skill executes successfully and the output is displayed correctly.

Extra Tips

  • Make sure to test the system.run command implementation thoroughly to ensure it works correctly for different commands and arguments.
  • Consider adding error handling and logging to the system.run command implementation to help diagnose any issues that may arise.
  • If you're using a different programming language or framework, you'll need to adapt the system.run command implementation accordingly.

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…

Still need to ship something?

×6

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

Back to top recommendations

TRENDING

openclaw - 💡(How to fix) Fix [Bug]: Mac companion app does not respond to system.run probe — skills requiring Mac binaries fail [2 comments, 1 participants]