Bug type
Regression (worked before, now fails)
Beta release blocker
No
Summary
exec host=node fails on three connected Linux headless nodes with spawn /bin/sh ENOENT, even though all nodes run OpenClaw 2026.5.20 and /bin/sh exists on each host.
Steps to reproduce
exec host=node node=node-a command="hostname; openclaw --version; uptime -p"
exec host=node node=node-b command="hostname; openclaw --version; uptime -p"
exec host=node node=node-c command="hostname; openclaw --version; uptime -p"
Expected behavior
exec host=node should run the command on each connected Linux headless node and return command output.
Actual behavior
spawn /bin/sh ENOENT
OpenClaw version
Gateway: 2026.5.20 Linux headless nodes: 2026.5.20
Operating system
Linux headless nodes. Exact distro/version: NOT_ENOUGH_INFO
Install method
Gateway runs in Docker. Linux nodes run as user systemd services.
Model
NOT_ENOUGH_INFO
Provider / routing chain
NOT_ENOUGH_INFO
Additional provider/model setup details
NOT_ENOUGH_INFO
Logs, screenshots, and evidence
Node status shows all nodes connected and exposing node exec capabilities:
{
"displayName": "node-a",
"platform": "linux",
"version": "2026.5.20",
"clientMode": "node",
"deviceFamily": "Linux",
"commands": [
"browser.proxy",
"system.execApprovals.get",
"system.execApprovals.set",
"system.run",
"system.run.prepare",
"system.which"
],
"paired": true,
"connected": true
}
Shell exists on each node:
OpenClaw 2026.5.20
active
/usr/bin/sh
/bin/sh -> dash
/usr/bin/sh -> dash
Gateway bundled code contains:
return [
"/bin/sh",
"-lc",
command
];
Observed error:
spawn /bin/sh ENOENT
Impact and severity
Affected users/systems/channels: Linux headless node exec via exec host=node
Severity: blocks workflow
Frequency: always observed on three connected Linux nodes
Consequence: node-based shell collection fails; SSH fallback is required
Additional information
Regression evidence is incomplete. Last known good version: NOT_ENOUGH_INFO. First observed bad version: 2026.5.20.
Bug type
Regression (worked before, now fails)
Beta release blocker
No
Summary
exec host=node fails on three connected Linux headless nodes with spawn /bin/sh ENOENT, even though all nodes run OpenClaw 2026.5.20 and /bin/sh exists on each host.
Steps to reproduce
exec host=node node=node-a command="hostname; openclaw --version; uptime -p"
exec host=node node=node-b command="hostname; openclaw --version; uptime -p"
exec host=node node=node-c command="hostname; openclaw --version; uptime -p"
Expected behavior
exec host=node should run the command on each connected Linux headless node and return command output.
Actual behavior
spawn /bin/sh ENOENT
OpenClaw version
Gateway: 2026.5.20 Linux headless nodes: 2026.5.20
Operating system
Linux headless nodes. Exact distro/version: NOT_ENOUGH_INFO
Install method
Gateway runs in Docker. Linux nodes run as user systemd services.
Model
NOT_ENOUGH_INFO
Provider / routing chain
NOT_ENOUGH_INFO
Additional provider/model setup details
NOT_ENOUGH_INFO
Logs, screenshots, and evidence
Impact and severity
Affected users/systems/channels: Linux headless node exec via exec host=node
Severity: blocks workflow
Frequency: always observed on three connected Linux nodes
Consequence: node-based shell collection fails; SSH fallback is required
Additional information
Regression evidence is incomplete. Last known good version: NOT_ENOUGH_INFO. First observed bad version: 2026.5.20.