Skip to main content

System Requirements

Before you install OpenClaw, verify that your environment meets the requirements listed on this page. OpenClaw is designed to run on modest hardware, but performance improves with more resources — especially when you enable many skills or serve high traffic.

Requirements at a glance

RequirementMinimumRecommended
Operating systemLinux (kernel 5.4+), macOS 13+, Windows 10+ with WSL 2Ubuntu 22.04 LTS or macOS 14+
Node.js22.16.0 (LTS)24 (latest)
npm10.0.010+ (ships with Node 22+)
RAM2 GB4 GB or more
Disk space1 GB free5 GB free
CPU1 core2+ cores
DockerNot requiredv24+ (optional, for sandboxed skills)
NetworkOutbound HTTPS (port 443)Outbound HTTPS + inbound for webhooks

Operating system

Linux

OpenClaw runs on any modern Linux distribution. The following are tested and fully supported:

  • Ubuntu 22.04 LTS and 24.04 LTS
  • Debian 12 (Bookworm)
  • Fedora 39+
  • Amazon Linux 2023

Other distributions should work as long as they ship a compatible glibc (2.31+) and a supported Node.js version.

macOS

macOS 13 (Ventura) or later is required. Both Intel and Apple Silicon (M1/M2/M3/M4) are supported. If you use Homebrew, installing Node.js is straightforward:

brew install node@24

Windows

OpenClaw supports Windows via the PowerShell installer or through WSL 2. For the best experience on Windows, install WSL 2 with an Ubuntu distribution and follow the Linux instructions inside the WSL environment.

# Install WSL 2 with Ubuntu (run in PowerShell as Administrator)
wsl --install -d Ubuntu-22.04

After WSL is set up, all remaining steps should be run inside the WSL terminal.

Node.js

OpenClaw requires Node.js 22 or later. We recommend using the latest release (Node.js 24 at the time of writing).

Checking your Node.js version

node --version
# Expected output: v24.x.x or v22.x.x

Installing Node.js

If you do not have Node.js installed, we recommend using nvm (Node Version Manager) so you can switch versions easily.

# Install nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash

# Restart your terminal, then install Node.js 24
nvm install 24
nvm use 24

Alternatively, download the installer from the official Node.js website.

caution

OpenClaw does not support Node.js versions below 22. If you are on Node.js 20 or earlier, you must upgrade before proceeding.

npm

npm ships with Node.js. Verify that you have version 10 or later:

npm --version
# Expected output: 10.x.x

If your npm version is outdated, update it:

npm install -g npm@latest

Memory (RAM)

ScenarioRAM
Development / testing with a few skills2 GB
Production with moderate traffic4 GB
High-traffic setup with many active skills8 GB+

OpenClaw itself uses approximately 200-400 MB of RAM at idle. The rest is consumed by active conversations, loaded skills, and the Node.js runtime.

Disk space

A fresh OpenClaw installation requires roughly 500 MB of disk space (including node_modules). Additional space is used by:

  • Skill packages — each skill is small (typically under 1 MB), but with thousands available on ClawHub, installing many of them adds up.
  • Logs — OpenClaw writes structured logs to ~/.openclaw/logs/ by default.
  • Conversation history — stored locally in SQLite unless you configure an external database.

We recommend at least 5 GB of free disk space to allow room for growth.

Docker (optional)

Docker is not required to run OpenClaw. However, it is recommended if you plan to:

  • Use skills that execute arbitrary code (the Sandbox uses Docker containers for isolation).
  • Deploy OpenClaw in a containerized environment (Kubernetes, Docker Compose, etc.).

If you choose to install Docker, version 24 or later is recommended:

docker --version
# Expected output: Docker version 24.x.x or later

Install Docker by following the official Docker documentation.

Network access

OpenClaw needs network access for the following purposes:

DirectionPortPurpose
Outbound443 (HTTPS)Calling LLM provider APIs (OpenAI, Anthropic, etc.)
Outbound443 (HTTPS)Downloading skill packages from the registry
Inbound3000 (default)Serving the web UI and REST API
InboundVariesReceiving webhooks from channels (Slack, Telegram, etc.)

If you are behind a corporate firewall or proxy, ensure that outbound HTTPS traffic to your LLM provider and to openclawdoc.com/registry is allowed.

Webhook considerations

Many channel adapters (Slack, Telegram, Discord) require OpenClaw to receive incoming webhook requests. This means your server must be reachable from the internet on the configured port. Options include:

  • A public-facing server or VM with a static IP.
  • A reverse proxy (Nginx, Caddy) with a domain name and TLS certificate.
  • A tunnel service like ngrok or Cloudflare Tunnels for development.

Verification checklist

Run the following commands to confirm your system is ready:

# Operating system
uname -a

# Node.js (must be 22+)
node --version

# npm (must be 10+)
npm --version

# Git (needed for manual installation)
git --version

# Docker (optional)
docker --version

If all checks pass, you are ready to proceed to Installation.