openclaw-gateway-fd-fix

Fix OpenClaw Gateway "spawn EBADF" / "RPC probe failed" / "EMFILE too many open files" errors caused by file descriptor exhaustion from too many files in workspace. One-click detection and repair for the most common OpenClaw crash issue.

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "openclaw-gateway-fd-fix" with this command: npx skills add thomaszhang2661/openclaw-gateway-fd-fix

OpenClaw Gateway File Descriptor Exhaustion Fix

Problem

OpenClaw Gateway crashes or hangs with these errors:

  • spawn EBADF when running exec commands
  • RPC probe failed / gateway timeout
  • Logs show EMFILE: too many open files, watch
  • Gateway process is running but unresponsive

Root Cause

The Gateway automatically watches all files under ~/.openclaw/workspace/ for changes. If you place virtual environments (.venv), node_modules, large datasets, or tens of thousands of small files inside workspace, the file watcher will exceed macOS's default file descriptor limit (256), causing the process to hang.

Usage

Auto-Fix (Recommended)

Run the one-click repair script:

bash fix.sh

What it does:

  1. Detects workspace file count
  2. Finds and removes unnecessary dependency directories (.venv, node_modules) inside workspace
  3. Backs up your existing LaunchAgent plist
  4. Updates LaunchAgent to set file descriptor limit to 524,288
  5. Restarts the Gateway service
  6. Verifies service health

Manual Fix Steps

If you prefer to fix manually:

  1. Remove large directories from workspace:
    # Never put these inside ~/.openclaw/workspace/:
    rm -rf ~/.openclaw/workspace/*/.venv
    rm -rf ~/.openclaw/workspace/*/node_modules
    # Move datasets/models/venvs to ~/Downloads/ or /tmp/
    
  2. Update LaunchAgent resource limits: Edit ~/Library/LaunchAgents/ai.openclaw.gateway.plist and add inside the root <dict>:
    <key>HardResourceLimits</key>
    <dict>
      <key>NumberOfFiles</key>
      <integer>524288</integer>
    </dict>
    <key>SoftResourceLimits</key>
    <dict>
      <key>NumberOfFiles</key>
      <integer>524288</integer>
    </dict>
    
  3. Restart Gateway:
    launchctl bootout gui/$(id -u) ~/Library/LaunchAgents/ai.openclaw.gateway.plist
    launchctl bootstrap gui/$(id -u) ~/Library/LaunchAgents/ai.openclaw.gateway.plist
    sleep 10 && openclaw gateway status
    

Permanent Rule (NEVER BREAK)

Do NOT put these inside ~/.openclaw/workspace/:

  • Python virtual environments (.venv, venv)
  • Node.js node_modules directories
  • Large datasets (>1000 files)
  • AI model weights (.pt, .bin, .pth files)
  • Cache directories with thousands of small files

Put these outside workspace: /tmp/, ~/Downloads/, or any directory outside ~/.openclaw/workspace/

Verification

After fix, run:

openclaw gateway status

You should see RPC probe: ok in the output.

Troubleshooting

If fix fails:

  1. Check logs: tail -50 ~/.openclaw/logs/gateway.err.log
  2. Verify no large directories remain in workspace: find ~/.openclaw/workspace -type f | wc -l (should be < 1000)
  3. Manually restart Gateway: openclaw gateway stop && openclaw gateway install

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

OpenClaw Skill Growth

Make OpenClaw Skills observable, diagnosable, and safely improvable over time. Use this when the user wants to maintain many SKILL.md files, inspect repeated...

Registry SourceRecently Updated
3281Profile unavailable
General

OpenClaw Windows Fix Scheduled Task Idle-Kill Bug Patch

Fixes the Windows scheduled task bug that kills OpenClaw processes during idle. One script, permanent fix.

Registry SourceRecently Updated
3030Profile unavailable
General

PM2 Gateway Restart

Use PM2 to reliably restart OpenClaw gateway on Windows. Use when the user wants to restart the OpenClaw gateway, fix port conflicts, or recover from a crash...

Registry SourceRecently Updated
1330Profile unavailable
General

OpenClaw Gateway Manager

Unified multi-cloud management tool for detecting, configuring, restarting, verifying, creating, and safely deleting all OpenClaw gateway instances on macOS.

Registry SourceRecently Updated
1690Profile unavailable