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¶
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¶
```bash
brew install node
```
Or download the macOS installer from [nodejs.org](https://nodejs.org/).
```bash
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt-get install -y nodejs
```
**Fedora / RHEL:**
```bash
sudo dnf install nodejs
```
Or use a version manager (see below).
```powershell
winget install OpenJS.NodeJS.LTS
```
**Chocolatey:**
```powershell
choco install nodejs-lts
```
Or download the Windows installer from [nodejs.org](https://nodejs.org/).
- fnm — fast, cross-platform
- nvm — widely used on macOS/Linux
- mise — polyglot (Node, Python, Ruby, etc.)
Example with fnm:
~/.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.
Look for `<npm-prefix>/bin` (macOS/Linux) or `<npm-prefix>` (Windows) in the output.
~/.zshrc or ~/.bashrc:
```bash
export PATH="$(npm prefix -g)/bin:$PATH"
```
Then open a new terminal (or run `rehash` in zsh / `hash -r` in bash).
</Tab>
<Tab title="Windows">
Add the output of `npm prefix -g` to your system PATH via Settings → System → Environment Variables.
</Tab>
</Tabs>
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.