openclaw - 💡(How to fix) Fix bug(gateway): @homebridge/ciao's arp -a probe flashes cmd.exe window every ~15s on Windows (missing windowsHide) [1 participants]

Official PRs (…)
ON THIS PAGE

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#70197Fetched 2026-04-23 07:27:56
View on GitHub
Comments
0
Participants
1
Timeline
0
Reactions
0
Author
Participants

On Windows, the OpenClaw gateway spawns a visible cmd.exe window every ~15 seconds. The flash is brief (no visible text), but continuous and distracting. Traced definitively to @homebridge/[email protected] (a direct dependency of openclaw) calling child_process.exec("arp -a | findstr /C:\"---\"") via its NetworkManager.getWindowsNetworkInterfaces() path. exec() on Windows wraps commands in cmd.exe without windowsHide, which makes every call flash a console window.

This is the same class of bug as the stale-closed issue #25856 ("cmd.exe window flashes every ~30s from ARP network scanning"), which was auto-closed by the stale bot without a code fix. Reopening per that issue's closing instructions ("open a new issue with fresh repro steps on the latest release"). The cadence has roughly doubled (30s → 15s) since #25856 was filed.

Root Cause

On Windows, the OpenClaw gateway spawns a visible cmd.exe window every ~15 seconds. The flash is brief (no visible text), but continuous and distracting. Traced definitively to @homebridge/[email protected] (a direct dependency of openclaw) calling child_process.exec("arp -a | findstr /C:\"---\"") via its NetworkManager.getWindowsNetworkInterfaces() path. exec() on Windows wraps commands in cmd.exe without windowsHide, which makes every call flash a console window.

This is the same class of bug as the stale-closed issue #25856 ("cmd.exe window flashes every ~30s from ARP network scanning"), which was auto-closed by the stale bot without a code fix. Reopening per that issue's closing instructions ("open a new issue with fresh repro steps on the latest release"). The cadence has roughly doubled (30s → 15s) since #25856 was filed.

Fix Action

Fix / Workaround

  • ciao should pass windowsHide: true when shelling out on Windows, or use spawn with { windowsHide: true } instead of exec.
  • Upstream issue already exists: homebridge/ciao#64 — "Windows: ARP discovery spawns visible console windows (missing windowsHide)" (still open).
  • In the meantime, OpenClaw could:
    1. Upstream a PR to ciao (trivial: pass options to exec), or
    2. Apply a local patch via patch-package in the openclaw build pipeline, or
    3. Conditionally disable/lazy-init the ciao advertiser when the device-pair plugin is not actively pairing, or
    4. Vendor a minimal mDNS responder that doesn't shell out on Windows.

Workaround (local)

Users can patch the 4 exec() calls in node_modules/@homebridge/ciao/lib/NetworkManager.js to pass { windowsHide: true } as a second argument. Survives until the next npm install.

Code Example

[08:45:37] NEW cmd.exe(26124) parent=node.exe(7672)
  cmd=C:\Windows\system32\cmd.exe /d /s /c "arp -a | findstr /C:"---""
RAW_BUFFERClick to expand / collapse

Description

On Windows, the OpenClaw gateway spawns a visible cmd.exe window every ~15 seconds. The flash is brief (no visible text), but continuous and distracting. Traced definitively to @homebridge/[email protected] (a direct dependency of openclaw) calling child_process.exec("arp -a | findstr /C:\"---\"") via its NetworkManager.getWindowsNetworkInterfaces() path. exec() on Windows wraps commands in cmd.exe without windowsHide, which makes every call flash a console window.

This is the same class of bug as the stale-closed issue #25856 ("cmd.exe window flashes every ~30s from ARP network scanning"), which was auto-closed by the stale bot without a code fix. Reopening per that issue's closing instructions ("open a new issue with fresh repro steps on the latest release"). The cadence has roughly doubled (30s → 15s) since #25856 was filed.

Steps to Reproduce

  1. Run OpenClaw gateway on Windows 11 (openclaw gateway start).
  2. Observe a cmd.exe console window flashing every ~15s.
  3. Trace the spawn with WMI / Get-CimInstance Win32_Process:
[08:45:37] NEW cmd.exe(26124) parent=node.exe(7672)
  cmd=C:\Windows\system32\cmd.exe /d /s /c "arp -a | findstr /C:"---""

Parent PID (7672) is the OpenClaw gateway node process.

Source Location

@homebridge/[email protected], lib/NetworkManager.js:

  • Line 428: child_process_1.default.exec("arp -a | findstr /C:\"---\"", ...) ← this is the one flashing
  • Line 475: exec("arp -a -n -l", ...) (Linux path, would also flash if Windows fell through)
  • Line 566, 596: exec("arp -a -n", ...) (mac path)

Consumer in OpenClaw

dist/server.impl-DLF59fRo.js imports @homebridge/ciao. Based on recent release notes (device-pair / companion app mDNS announces), this is almost certainly the LAN discovery path for the Android/iOS pairing flow.

Expected Behavior

  • ciao should pass windowsHide: true when shelling out on Windows, or use spawn with { windowsHide: true } instead of exec.
  • Upstream issue already exists: homebridge/ciao#64 — "Windows: ARP discovery spawns visible console windows (missing windowsHide)" (still open).
  • In the meantime, OpenClaw could:
    1. Upstream a PR to ciao (trivial: pass options to exec), or
    2. Apply a local patch via patch-package in the openclaw build pipeline, or
    3. Conditionally disable/lazy-init the ciao advertiser when the device-pair plugin is not actively pairing, or
    4. Vendor a minimal mDNS responder that doesn't shell out on Windows.

Environment

  • OpenClaw version: 2026.4.21
  • OS: Windows 11 (10.0.26200, x64)
  • Node.js: v24.14.1
  • @homebridge/ciao: 1.3.6

Notes

  • cmd.exe exits too fast to catch with plain polling. Captured via 500ms Get-CimInstance Win32_Process loop filtering for cmd.exe / conhost.exe / powershell.exe.
  • No known functional impact — only UX (window flash).
  • Related prior work (all closed without a real code fix): #25856 (stale-bot close), #58566, #40340.
  • Related live issues: upstream homebridge/ciao#64, and openclaw#67578 (ciao crash on malformed mDNS).

Workaround (local)

Users can patch the 4 exec() calls in node_modules/@homebridge/ciao/lib/NetworkManager.js to pass { windowsHide: true } as a second argument. Survives until the next npm install.

extent analysis

TL;DR

Passing windowsHide: true to child_process.exec() calls in @homebridge/ciao should prevent the flashing cmd.exe windows on Windows.

Guidance

  • Verify the issue is caused by the child_process.exec() calls in @homebridge/ciao by checking the stacktrace or debugging the code.
  • Apply a local patch to node_modules/@homebridge/ciao/lib/NetworkManager.js to pass { windowsHide: true } as a second argument to the exec() calls.
  • Consider upstreaming a PR to homebridge/ciao to fix the issue permanently.
  • As a temporary workaround, users can manually patch the exec() calls in node_modules/@homebridge/ciao/lib/NetworkManager.js to pass { windowsHide: true }.

Example

const { exec } = require('child_process');

// Before
exec("arp -a | findstr /C:\"---\"");

// After
exec("arp -a | findstr /C:\"---\"", { windowsHide: true });

Notes

  • The issue is specific to Windows and is caused by the child_process.exec() calls in @homebridge/ciao.
  • The local patch will survive until the next npm install, at which point it will need to be reapplied.
  • Upstreaming a PR to homebridge/ciao is the recommended long-term solution.

Recommendation

Apply a local patch via patch-package in the openclaw build pipeline to pass windowsHide: true to the exec() calls in @homebridge/ciao. This will prevent the flashing cmd.exe windows on Windows until a permanent fix can be upstreamed to homebridge/ciao.

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(gateway): @homebridge/ciao's arp -a probe flashes cmd.exe window every ~15s on Windows (missing windowsHide) [1 participants]