Skip to main content
OpenClaw requires Node 22.19+, Node 23.11+, or Node 24+. Node 24 is the default and recommended runtime for installs, CI, and release workflows; Node 22 remains supported via the active LTS line. The installer script detects and installs Node automatically — use this page when you want to set up Node yourself (versions, PATH, global installs).

Check your version

node -v
v24.x.x or higher is the recommended default. v22.19.x or higher is the supported Node 22 LTS path (upgrade to Node 24 when convenient). Node 23 builds before v23.11.0 are unsupported. If Node is missing or outside the supported range, pick an install method below.

Install Node

Homebrew (recommended):
brew install node
Or download the macOS installer from nodejs.org.
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 24
fnm use 24
Initialize your version manager in your shell startup file (~/.zshrc or ~/.bashrc). If you skip this, openclaw may not be found in new terminal sessions because 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.
1

Find your global npm prefix

npm prefix -g
2

Check if it's on your PATH

echo "$PATH"
Look for <npm-prefix>/bin (macOS/Linux) or <npm-prefix> (Windows) in the output.
3

Add it to your shell startup file

Add to ~/.zshrc or ~/.bashrc:
export PATH="$(npm prefix -g)/bin:$PATH"
Then open a new terminal (or run rehash in zsh / hash -r in bash).

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.