-
-
Notifications
You must be signed in to change notification settings - Fork 69.1k
[Bug]: exec commands require approval despite security=full, ask=off — missing exec-approvals.sock on headless Linux (RPi5) #26496
Copy link
Copy link
Closed
Labels
bugSomething isn't workingSomething isn't workingsecuritySecurity documentationSecurity documentation
Description
Summary
On a headless Raspberry Pi 5 running OpenClaw as a local gateway, all exec commands from the agent require approval and timeout waiting for it, despite exec-approvals.json being correctly configured with security=full and ask=off. The exec-approvals.sock socket file is never created.
Commands eventually execute after ~1-2 minutes (presumably a gateway fallback/timeout path), but the delay makes interactive use painful.
Environment
- OpenClaw version: 2026.2.24 (df9a474)
- OS: Debian GNU/Linux 12 (bookworm)
- Hardware: Raspberry Pi 5, aarch64
- Kernel: 6.12.70+rpt-rpi-2712 fix: add @lid format support and allowFrom wildcard handling #1 SMP PREEMPT (2026-02-16)
- Node.js: v22.22.0
- Gateway: Local mode, systemd service (
openclaw-gateway.service), bound to loopback (ws://127.0.0.1:18789) - Install method: npm global install
Symptoms
- Every
execcall from the agent returns "Approval required (id xxx)" immediately - The approval ID does not resolve to a running session (
process list/process pollreturn nothing) - Commands DO eventually execute after ~60-120 seconds (gateway fallback)
- The delay is intermittent — sometimes commands execute instantly, sometimes they timeout
- After a gateway restart, exec sometimes works immediately for a period, then reverts to requiring approval
exec-approvals.sockis never created on disk — onlyexec-approvals.jsonexists
Configuration
{
"version": 1,
"socket": {
"path": "/home/ffyring/.openclaw/exec-approvals.sock",
"token": <MY_TOKEN>
},
"defaults": {
"security": "full",
"ask": "off",
"askFallback": "full",
"autoAllowSkills": true
},
"agents": {}
}Both openclaw approvals get and openclaw approvals get --gateway show identical config with security=full, ask=off.
What I've Tried
- Verified
exec-approvals.jsonhassecurity: "full"andask: "off" - Checked both local and gateway approval configs — both correct
- Restarted gateway multiple times via
openclaw gateway restart - Used
security=fullparameter on exec tool calls — no effect - Confirmed no per-agent overrides exist (
agents: {}) - Checked for socket file after gateway restart — never appears
Steps to reproduce
- Install OpenClaw globally on a headless Raspberry Pi 5 (arm64):
npm i -g openclaw - Configure local gateway mode
- Set exec-approvals.json defaults to
security: "full",ask: "off" - Start gateway:
openclaw gateway start - Verify socket is missing:
ls ~/.openclaw/exec-approvals.sock→ not found - From an agent session, run any exec command:
echo "hello" - Observe: "Approval required" → ~60-120s delay → command eventually executes
Expected behavior
With security=full and ask=off, exec commands should execute immediately without any approval flow. Either:
- The socket daemon should start and auto-approve, OR
- The gateway should skip the approval flow entirely when defaults allow it
Actual behavior
- Gateway starts → agent tries exec → "Approval required"
- No socket exists for the approval daemon to listen on
- Gateway waits for approval response via socket → times out
- After timeout (~60-120s), command executes anyway (fallback path?)
- Occasionally, commands execute instantly (unclear why — possibly a race condition or caching)
OpenClaw version
2026.2.24 (df9a474)
Operating system
Debian GNU/Linux 12 (bookworm)
Install method
npm global
Logs, screenshots, and evidence
Impact and severity
- Interactive agent use is severely degraded (every tool call delayed 1-2 min)
- Heartbeats and cron jobs that rely on exec are unreliable
- Workaround exists (commands do eventually execute) but UX is poor
Additional information
Related Issues
- [Bug]: exec-approvals.sock not created on headless Linux node, causing SYSTEM_RUN_DENIED timeout #6874 — exec-approvals.sock not created on headless Linux node, causing SYSTEM_RUN_DENIED timeout (same root cause, different setup)
- [Feature]: Add gateway.trustedNetworks to allow ws:// over encrypted mesh networks (WireGuard/VPNs) #21192 — ws:// security check on non-loopback IPs (possibly related to gateway communication)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't workingsecuritySecurity documentationSecurity documentation
Type
Fields
Give feedbackNo fields configured for issues without a type.