#Help please I can't get the agent to load

1 messages · Page 1 of 1 (latest)

devout vector
#

Hey, I'm running into a gateway issue and could use some help. I'm on macOS Ventura 13.6, M2 Mac Mini, Node v22.22.1 installed via nvm. I installed OpenClaw via npm and downgraded to 2026.3.11 to avoid the ANTHROPIC_MODEL_ALIASES crash bug in 2026.3.12.
After a clean uninstall and reinstall of 2026.3.11, the gateway starts (LaunchAgent loads, process runs) but port 18789 never becomes healthy. The RPC probe always fails with "gateway closed (1006 abnormal closure)".
Doctor says: "Gateway service uses Node from a version manager" and "System Node 22+ not found" — I installed Node via the official .pkg installer but /usr/local/bin/node is being overridden by nvm in my shell, and the LaunchAgent appears to still be using the nvm path.
Last gateway error log just shows Node.js v22.22.1 with no other details.
What's the correct way to point the LaunchAgent to the system Node installation so it stops using the nvm path? Is there a flag or config setting for this?

magic boughBOT
#

To help others find answers, you can mark your question as solved via Right click solution message -> Apps -> âś… Mark Solution

sharp turretBOT
#

There isn’t a config key that “points launchd at system Node”. On macOS the LaunchAgent plist bakes in a literal Node path in ProgramArguments at the moment you run openclaw gateway install (or when Doctor repairs it). launchd does not consult your shell init, so nvm “overriding /usr/local/bin in my shell” isn’t the lever here.

The supported fix (recommended)

  1. Make sure a “system Node” actually exists at one of the paths Doctor checks:
  • Apple Silicon Homebrew: /opt/homebrew/bin/node
  • nodejs.org installer: /usr/local/bin/node
  • (fallback) /usr/bin/node

Verify with:

ls -l /opt/homebrew/bin/node /usr/local/bin/node /usr/bin/node
/opt/homebrew/bin/node -v 2>/dev/null || true
/usr/local/bin/node -v 2>/dev/null || true
  1. Then let Doctor rewrite the LaunchAgent to use that system Node:
#
openclaw doctor --repair
# (or run `openclaw doctor` interactively and accept the service repair prompt)

Doctor specifically looks for “Gateway service uses Node from a version manager” and will migrate the service to system Node if it can find a supported one.

Docs: https://docs.openclaw.ai/gateway/doctor

Manual reinstall route (also works)

If you prefer not to use Doctor, you can reinstall the service after ensuring you’re running the system openclaw (not the nvm one):

openclaw gateway install --force
openclaw gateway restart
openclaw gateway status --deep