Skip to main content

Node runtime

Node.js

OpenClaw requires Node 22 or newer. The installer script will detect and install Node automatically — this page is for when you want to set up Node yourself and make sure everything is wired up correctly (versions, PATH, global installs).

Check your version​

node -v

If this prints v22.x.x or higher, you’re good. If Node isn’t installed or the version is too old, pick an install method below.

Install Node​

Version managers let you switch between Node versions easily. Popular options:

  • fnm — fast, cross-platform
  • nvm — widely used on macOS/Linux
  • mise — polyglot (Node, Python, Ruby, etc.)

Example with fnm:

fnm install 22
fnm use 22

Make sure your version manager is initialized in your shell startup file (~/.zshrc or ~/.bashrc). If it isn’t, openclaw may not be found in new terminal sessions because the PATH won’t include Node’s bin directory.

Troubleshooting​

openclaw: command not found​

This almost always means npm’s global bin directory isn’t on your PATH.

Step 1: Find your global npm prefix​

npm prefix -g

Step 2: Check if it's on your PATH​

echo "$PATH"

Look for <npm-prefix>/bin (macOS/Linux) or <npm-prefix> (Windows) in the output.

Step 3: Add it to your shell startup file​

export PATH="$(npm prefix -g)/bin:$PATH"

Add the output of npm prefix -g to your system PATH via Settings → System → Environment Variables.

Permission errors on npm install -g (Linux)​

If you see EACCES errors, switch npm’s global prefix to a user-writable directory:

mkdir -p "$HOME/.npm-global"
npm config set prefix "$HOME/.npm-global"
export PATH="$HOME/.npm-global/bin:$PATH"

Add the export PATH=... line to your ~/.bashrc or ~/.zshrc to make it permanent.

Diagnostics FlagsSession Management Deep Dive