...

Can OpenClaw Run on Linux, Android, Raspberry Pi & Windows? A Very Detailed Guide (2026)

Can OpenClaw Run on Linux, Android, Raspberry Pi & Windows.
Can OpenClaw Run on Linux, Android, Raspberry Pi & Windows.PcBuildAdvisor.com

Yes, OpenClaw runs on all four platforms, but with different levels of official support and practical performance. Linux is the native home of OpenClaw and the smoothest experience. Windows is fully supported via WSL2 and also works natively through PowerShell. Raspberry Pi is one of the most popular self-hosting setups, with the Pi 5 (8GB) being the recommended hardware. Android is technically possible via Termux but sits firmly in the enthusiast tier, with more setup friction than any other platform. This guide covers all four in full detail, including exact commands, hardware requirements, real limitations, and what each platform is actually like to use day to day.


What Is OpenClaw and Why Platform Matters

What Is OpenClaw and Why Platform Matters.
What Is OpenClaw and Why Platform Matters.PcBuildAdvisor.com

OpenClaw is an open-source self-hosted AI agent gateway that connects large language models to your local system and messaging platforms like Telegram, Discord, and WhatsApp. Unlike a standard chatbot, OpenClaw runs as a persistent background daemon. It can message you proactively, execute shell commands, manage files, browse the web, run skills from ClawHub, and automate complex multi-step tasks while you are doing something else entirely.

Because it runs as a daemon rather than a web app, the platform it runs on matters significantly. The operating system determines how it starts on boot, how stable it remains under load, how you manage it when things go wrong, and what security surface you are exposing. As PromptLayer’s detailed OpenClaw installation guide explains, OpenClaw’s architecture splits into two parts: the Brain (the reasoning engine handling API calls and orchestration) and the Hands (the execution environment running skills, shell access, and file management). Both parts have different resource demands depending on the platform.

The core system requirements that apply across all platforms are:

  • Node.js 22.x or higher (this is a hard requirement, not a suggestion)
  • A minimum of 1GB RAM for the gateway alone, with 4GB recommended for stable npm builds
  • Port 18789 available for the local Control UI
  • An active internet connection to reach your chosen LLM provider’s API (Anthropic, OpenAI, OpenRouter, Google Gemini, or a local Ollama instance)

Platform 1: Linux

Support Level: Full Native Support

Linux is the platform OpenClaw was built for first. Every installation method works, all documentation assumes a Linux terminal, and the community defaults to Linux when giving troubleshooting advice. If you are choosing a platform specifically to run OpenClaw and you are comfortable on the command line, Linux is the right answer.

Supported distributions: Ubuntu 22.04 and 24.04, Debian 11 and 12, Fedora 39 and 40, Arch Linux, and any other distribution capable of running Node.js 22.x. Ubuntu 22.04 LTS and 24.04 LTS are the most tested and have the most community troubleshooting resources.

System Requirements (Linux)

RequirementMinimumRecommended
RAM1GB4GB+
Storage10GB free20GB+ SSD
CPUAny 64-bit x86 or ARMModern multicore
Node.js22.xLatest LTS
OSAny 64-bit LinuxUbuntu 22.04 or 24.04 LTS

Installation: Method 1 — One-Line Scripted Installer (Recommended)

This is the fastest method for most users. The install script detects your OS, checks Node.js versions, installs missing dependencies, and launches the onboarding wizard automatically:

bashcurl -fsSL https://openclaw.ai/install.sh | bash

Security note: Running a piped curl-to-bash command is convenient but means you are executing remote code without reviewing it first. The security-conscious approach is to download the script, read it, then execute it:

bashcurl -O https://openclaw.ai/install.sh
cat install.sh        # review the contents
bash install.sh

Installation: Method 2 — npm Global Install

Better for systems already running multiple Node.js applications where you want more control:

bash# Install OpenClaw globally
npm install -g openclaw@latest

# Run the onboarding wizard and register as a background daemon
openclaw onboard --install-daemon

The --install-daemon flag registers OpenClaw as a systemd service automatically, so it starts on boot and restarts on crash without any manual configuration.

Installation: Method 3 — Docker

Ideal for isolation, reproducibility, and keeping OpenClaw contained to its own environment:

bashgit clone https://github.com/openclaw/openclaw
cd openclaw
./docker-setup.sh

Docker mounts two volumes: ~/.openclaw for configuration and credentials, and ~/openclaw/workspace as the agent’s execution sandbox. If you hit permission errors, fix ownership on the host:

bashsudo chown -R 1000:1000 ~/.openclaw

Step: Prepare Your System

Before any installation method, make sure your system is ready:

bash# Update package lists
sudo apt update && sudo apt upgrade -y

# Install essential build tools (required for some OpenClaw skills with native dependencies)
sudo apt install -y build-essential git python3 curl wget

# Check Node.js version
node --version    # Must show v22.x.x or higher 

If your Node.js version is below 22, install the correct version via NodeSource:

bashcurl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt-get install -y nodejs

Step: Run the Onboarding Wizard

After installation, run the setup wizard if it did not launch automatically:

bashopenclaw onboard

During onboarding you will:

  1. Choose your LLM provider: Anthropic Claude, OpenAI, OpenRouter, Google Gemini, or local Ollama
  2. Enter your API key for the chosen provider
  3. Name your agent
  4. Choose your default messaging channel (Telegram is the most popular for Linux self-hosters)

Configuration is saved to ~/.openclaw/openclaw.json.

Step: Start and Verify the Gateway

bash# Start the gateway daemon
openclaw gateway start

# Run the health check
openclaw doctor

# Check live status
openclaw status

# Open the local Control UI in your browser
openclaw dashboard

The Control UI runs at http://localhost:18789. Never expose this port to the public internet. Use Tailscale or a VPN if you need remote access.

Step: Manual systemd Service (If Not Using –install-daemon)

If you installed via npm without the daemon flag, here is how to set up systemd manually:

bashsudo tee /etc/systemd/system/openclaw.service > /dev/null << 'EOF'
[Unit]
Description=OpenClaw AI Assistant Gateway
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
User=youruser
WorkingDirectory=/home/youruser
ExecStart=/usr/bin/openclaw gateway start --foreground
Restart=always
RestartSec=10
Environment=NODE_ENV=production

[Install]
WantedBy=multi-user.target
EOF

sudo systemctl daemon-reload
sudo systemctl enable openclaw
sudo systemctl start openclaw

VPS-Specific Consideration: Swap File

On a VPS with less than 2GB RAM, allocate a swap file before running npm install. The build phase can trigger out-of-memory kills on low-memory instances:

bashsudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

Platform 2: Windows

Support Level: Full Support (via WSL2 or Native PowerShell)

Windows is a first-class supported platform. There are two installation paths: the WSL2 route, which runs OpenClaw inside a Linux subsystem and is the recommended approach for most Windows users, and the native PowerShell route, which installs directly on Windows without any Linux layer. Both work. WSL2 is recommended because it gives you a full Linux environment, making skill installation, troubleshooting, and community help resources directly applicable.

System Requirements (Windows)

RequirementMinimumRecommended
Windows versionWindows 10 (21H2+)Windows 11
RAM4GB8GB+
Storage20GB freeSSD with 40GB+
Node.js22.xLatest LTS
WSL2Required for WSL pathUbuntu 22.04 on WSL2

Method A (Recommended): Install via WSL2

Step 1: Enable WSL2

Open PowerShell as Administrator and run:

powershellwsl --install

Reboot when prompted. This installs WSL2 and Ubuntu by default.

Step 2: Launch Ubuntu and set up your user

Open Ubuntu from the Start menu. Create your Linux username and password when prompted.

Step 3: Update packages inside Ubuntu

bashsudo apt update && sudo apt upgrade -y

Step 4: Install OpenClaw inside WSL2

The OpenClaw installer requires sudo privileges to install the background daemon and global npm packages. Running it without sudo will result in a cascade of EACCES permission denied errors:

bashcurl -fsSL https://openclaw.ai/install.sh | sudo bash

From this point forward, every Linux command from the Linux section above applies directly inside your WSL2 Ubuntu environment. The experience is identical to native Linux.

Step 5: Access the Control UI from your Windows browser

WSL2 bridges its localhost to Windows automatically. Open your Windows browser and navigate to:

texthttp://localhost:18789

The OpenClaw dashboard will load just as it does on Linux.

Method B: Install Directly on Windows via PowerShell

For users who prefer not to use WSL2, OpenClaw provides a native Windows installer:

Step 1: Install Node.js 22.x on Windows

Download the LTS installer from nodejs.org and run it. Verify after installation:

powershellnode --version    # Must show v22.x.x or higher 

Step 2: Run the Windows installer script

Open PowerShell and run:

powershelliwr -useb https://openclaw.ai/install.ps1 | iex

Note: Before running any downloaded PowerShell script, check your execution policy:

powershellGet-ExecutionPolicy

If it returns Restricted, change it to allow the script:

powershellSet-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

Step 3: Or install via npm directly

powershellnpm install -g openclaw@latest
openclaw onboard --install-daemon

On Windows, --install-daemon registers OpenClaw as a Windows Service rather than a systemd service. It behaves equivalently: starts on boot, restarts on crash.

Step: Verify Your Windows Installation

powershellopenclaw doctor
openclaw status
openclaw dashboard

These three commands are your standard health check sequence on every platform. If openclaw doctor returns all green, your installation is working correctly.

Windows-Specific Troubleshooting

“openclaw is not recognized as a command”: Your npm global bin directory is not in your system PATH. Add %APPDATA%\npm to your PATH in System Environment Variables, then restart your terminal.

PowerShell execution policy blocking scripts: Run Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser to allow locally-created and signed scripts.

Port 18789 already in use: Another application is using that port. Find it with netstat -ano | findstr :18789 and terminate the process from Task Manager.

WSL2 network not bridging to Windows: In rare cases, WSL2’s localhost forwarding breaks after a Windows update. Run wsl --shutdown, reopen Ubuntu, and restart the gateway.


Platform 3: Raspberry Pi

Support Level: Community-Supported, Highly Popular

Raspberry Pi is one of the most popular OpenClaw self-hosting setups in the community. For roughly $1/month in electricity, a Pi becomes an always-on AI assistant that runs 24/7, keeps all your data on your own hardware, and never needs you to leave a laptop open. The tradeoff is that setup requires real Linux command-line comfort, and not all skills perform equally well on ARM hardware.

Which Pi Do You Need?

ModelRAMStorageVerdict
Pi 5 (8GB)8GB LPDDR4XNVMe via HATRecommended — comfortable headroom for 3 to 5 active skills
Pi 5 (4GB)4GB LPDDR4XNVMe via HATGood — fine for single-agent, single-channel setups
Pi 4 (8GB)8GB LPDDR4USB 3.0 SSDAcceptable — noticeably slower but functional
Pi 4 (4GB)4GB LPDDR4SD cardMinimum viable — expect swap usage under load
Pi 3 and below1GBSD cardNot recommended — insufficient RAM

The 8GB RAM advantage is real. OpenClaw’s Node.js runtime, message processing, skill execution, and persistent memory all add up. On a 4GB Pi running multiple skills, you will hit swap regularly, which degrades response speed and wears out your SD card faster. The Pi 5 (8GB) at around $80 is the correct choice for anyone planning a serious 24/7 deployment.

Full Hardware Shopping List

ComponentRecommendedBudget Option
Raspberry PiPi 5 8GB (~$80)Pi 4 8GB (~$60)
Power supplyOfficial 5V 5A USB-C ($12)Official 5V 3A for Pi 4 ($8)
StorageNVMe SSD 128GB+ ($20 to $30)microSD 64GB Class A2 ($10)
NVMe HATPi 5 M.2 HAT+ ($12)Not applicable
CaseActive cooling case ($10 to $15)Basic case with fan ($8)
NetworkCat6 Ethernet cable ($5)Built-in WiFi
Total~$140 to $150~$85 to $95

Do not cheap out on the power supply. Under-voltage is the most common cause of random crashes during AI workloads on a Pi. The official Raspberry Pi power supply is specifically rated for sustained high loads. Generic USB-C chargers from Amazon frequently cannot deliver stable 5A output under sustained CPU load.

Step 1: Install Raspberry Pi OS

Use Raspberry Pi OS Lite 64-bit. The desktop version wastes RAM and CPU that OpenClaw needs. Download Raspberry Pi Imager, select Raspberry Pi OS Lite (64-bit), and use the gear icon to pre-configure:

  • Hostname: openclaw-pi
  • Enable SSH with password authentication
  • Set your username, password, and WiFi network
  • Set your locale and timezone

After flashing, insert the card into the Pi, power it on, and SSH in:

bashssh [email protected]

Update everything immediately:

bashsudo apt-get update && sudo apt-get upgrade -y

Optional but strongly recommended: Boot from NVMe SSD

If you have an NVMe SSD and M.2 HAT+, clone your SD card to the SSD using SD Card Copier (under Accessories in the full OS, or use dd commands in Lite), then update boot order in raspi-config under Advanced Options > Boot Order > NVMe. This gives 3 to 5x faster read/write speeds and eliminates SD card corruption risk, which is a real issue for 24/7 write-heavy workloads.

Step 2: Install Node.js 22.x

The Node.js version in the default Raspberry Pi OS repos is outdated. Install via NodeSource:

bashcurl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt-get install -y nodejs

# Verify
node --version    # Must show v22.x.x
npm --version

# Install essential build tools
sudo apt-get install -y build-essential git python3

Step 3: Install OpenClaw

bash# Install OpenClaw globally
npm install -g openclaw

# Verify
openclaw --version

# Run the onboarding wizard
openclaw onboard

Onboarding will ask for your LLM provider, API key, agent name, and default model. Use a cloud provider (Anthropic or OpenAI) rather than a local Ollama model. Local inference on a Pi, even a Pi 5, is impractically slow: a 3B parameter model takes 10 to 30 seconds per response. The Pi should run the OpenClaw agent runtime while the actual AI thinking is done by a cloud API.

Step 4: Set Up the systemd Service

This is what makes your Pi a true 24/7 server. The systemd service ensures OpenClaw starts on every boot and restarts automatically if it crashes:

bashsudo tee /etc/systemd/system/openclaw.service > /dev/null << 'EOF'
[Unit]
Description=OpenClaw AI Assistant Gateway
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
User=youruser
WorkingDirectory=/home/youruser
ExecStart=/usr/bin/openclaw gateway start --foreground
Restart=always
RestartSec=10
Environment=NODE_ENV=production

[Install]
WantedBy=multi-user.target
EOF

sudo systemctl daemon-reload
sudo systemctl enable openclaw
sudo systemctl start openclaw

Step 5: Connect Telegram

Telegram is the most popular messaging channel for Pi-based OpenClaw setups due to its reliable API and the fact that it does not require a dedicated phone number.

  1. Open Telegram and search for @BotFather
  2. Send /newbot, choose a name and username (must end in bot)
  3. Copy the API token BotFather provides
  4. In your Pi terminal: openclaw channel add telegram
  5. Paste your bot token when prompted
  6. Send a message to your new bot to confirm the connection

Step 6: Performance Optimization

Use an SSD. This is the single biggest performance improvement available. OpenClaw constantly writes to memory files, logs, and conversation history. SD cards have limited write endurance and slow random I/O. An NVMe SSD makes everything faster and prevents premature card failure.

Limit Node.js heap size to prevent out-of-memory kills on 4GB models:

bashexport NODE_OPTIONS="--max-old-space-size=2048"
# For 4GB Pi: use --max-old-space-size=1024 

Disable unnecessary services to free resources:

bashsudo systemctl disable bluetooth
sudo systemctl stop bluetooth

Overclock for Pi 5 (optional — proceed with caution):

⚠️ Warning: Overclocking voids your Raspberry Pi warranty and carries real risk of instability or hardware damage if done incorrectly. Only attempt this if your Pi 5 has adequate active cooling installed and you are comfortable monitoring temperatures closely. Never overclock without a heatsink and fan.

bashsudo nano /boot/firmware/config.txt
# Add:
arm_freq=2800
gpu_freq=1000
over_voltage_delta=5000

over_voltage_delta=5000 applies a conservative +50mV overvolt, which is a mild and widely used starting point for Pi 5 overclocking. Do not increase this value without thorough research, as higher values can damage your board. Monitor your temperature with vcgencmd measure_temp and keep it below 80°C under sustained load. If you experience instability or throttling, remove the overclock settings entirely and restore defaults first.

Increase swap for 4GB models:

bashsudo dphys-swapfile swapoff
sudo sed -i 's/CONF_SWAPSIZE=.*/CONF_SWAPSIZE=2048/' /etc/dphys-swapfile
sudo dphys-swapfile setup
sudo dphys-swapfile swapon

Step 7: Health Monitoring

Create a simple health-check script and run it on a cron schedule:

bash#!/bin/bash
# /home/youruser/check-openclaw.sh
if ! openclaw gateway status | grep -q "running"; then
  echo "$(date): OpenClaw is down, restarting..." >> /var/log/openclaw-health.log
  openclaw gateway restart
fi

Add to cron to run every 5 minutes:

bashcrontab -e
# Add this line:
*/5 * * * * /home/youruser/check-openclaw.sh

Real Raspberry Pi Limitations

What Works WellWhat Struggles
Single-user Telegram or Discord botLocal LLM inference via Ollama
Scheduled tasks and automationsMultiple simultaneous users (2+ concurrent)
Text-based skills (email, calendar, search)Heavy browser automation via Playwright
Always-on 24/7 uptimeLarge document or image processing
Heartbeats, reminders, monitoringVideo or media generation tasks

Platform 4: Android

Support Level: Community-Supported (Enthusiast Tier)

Android is not an officially supported platform. There is no official OpenClaw installer for Android. However, a growing number of users in the r/LocalLLM community have successfully run OpenClaw on Android tablets and phones with decent hardware specs using Termux, a terminal emulator that provides a Linux-like environment on Android without requiring root access.

One r/LocalLLM community member noted that setting up OpenClaw on an Android tablet with 4GB RAM and a solid CPU was surprisingly easier than getting it running on a Raspberry Pi 4 with 2GB RAM, with better performance on comparable tasks. This is partly because modern Android device chipsets, particularly Snapdragon 8-series processors, are faster in raw terms than even the Pi 5 for sequential Node.js workloads.

Requirements for Android

  • Android 11 or higher
  • Minimum 4GB RAM (6GB+ strongly recommended for comfortable use)
  • A modern SoC (Snapdragon 8-series, Dimensity 9000-series, or equivalent)
  • Termux installed from F-Droid (not the Play Store version, which is outdated and no longer maintained)
  • At least 8GB of free storage

Why F-Droid Termux and Not Play Store Termux

This is important: the Termux version on the Google Play Store stopped receiving updates in 2020 and will not work for modern Node.js installations. You must install Termux from F-Droid. Download F-Droid from f-droid.org and then install Termux through it.

Step 1: Install and Set Up Termux

Install Termux from F-Droid, then open it and run the initial setup:

bash# Update Termux packages
pkg update && pkg upgrade -y

# Install required dependencies
pkg install nodejs-lts git python build-essential curl

Verify Node.js version:

bashnode --version    # Must show v22.x.x or higher 

If the nodejs-lts package in Termux does not provide version 22 yet, install via nvm:

bash# Install nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
source ~/.bashrc

# Install Node.js 22
nvm install 22
nvm use 22
node --version

Step 2: Install OpenClaw

bashnpm install -g openclaw@latest
openclaw --version
openclaw onboard

Onboarding on Android is identical to any other platform. Choose your LLM provider, enter your API key, name your agent, and pick a messaging channel.

Step 3: Start the Gateway

bashopenclaw gateway start

Unlike Linux and Windows where you can register OpenClaw as a system service, Android with Termux has limitations around background execution. Android’s battery optimization aggressively kills background processes, including Termux sessions.

To keep OpenClaw running in the background on Android:

  1. Open Android Settings > Battery > Battery Optimization
  2. Find Termux and set it to “Not Optimized” or “Unrestricted”
  3. In the Termux notification, keep it as a foreground notification so Android does not kill it
  4. Alternatively, use Termux:Widget or a Termux:Boot script to restart the gateway automatically

Using Termux:Boot for auto-start:

Install Termux:Boot from F-Droid (same source as Termux), then create a startup script:

bashmkdir -p ~/.termux/boot/
cat > ~/.termux/boot/start-openclaw.sh << 'EOF'
#!/data/data/com.termux/files/usr/bin/bash
openclaw gateway start
EOF
chmod +x ~/.termux/boot/start-openclaw.sh

This will start the OpenClaw gateway automatically every time Android reboots, as long as Termux:Boot is installed.

Step 4: Access the Control UI on Android

The Control UI runs on localhost:18789. On Android, open any mobile browser and navigate to http://localhost:18789 while Termux is running the gateway. It works in Chrome for Android.

Android-Specific Limitations

  • No systemd. Android does not have systemd, so managing background services requires the Termux:Boot workaround described above rather than a proper init system
  • Battery optimization is aggressive. Even with unrestricted battery settings, some Android OEMs (Xiaomi, Samsung on certain firmware versions) may still kill background Termux sessions. Tablets left plugged in are significantly more reliable than phones
  • Bluetooth-dependent skills may behave differently. Android’s Bluetooth stack is not always accessible from Termux in the same way it would be on Linux
  • Storage access requires permissions. If any of your skills need to read or write files on Android shared storage, you need to grant Termux explicit storage permissions: termux-setup-storage
  • Not suitable for production. Android is best treated as a testing environment or a personal-use setup, not a reliable always-on server for business-critical automations

Cross-Platform Comparison

FeatureLinuxWindows (WSL2)Windows (Native)Raspberry PiAndroid (Termux)
Official support✅ Full✅ Full✅ FullCommunityCommunity
One-line installer✅ (inside WSL2)✅ (PS script)❌ Manual only
systemd service✅ (inside WSL2)Windows Service❌ Termux:Boot
Playwright browser automation⚠️ Slow❌ Not reliable
24/7 always-on⚠️ Sleep risk⚠️ Sleep risk⚠️ Battery kills
Local Ollama inference⚠️ Very slow⚠️ Very slow
Ease of setupEasyModerateEasyModerateHard
Recommended for beginners⚠️ Some Linux needed

Choosing the Right Platform for Your Needs

Choosing the Right Platform for Your Needs.
Choosing the Right Platform for Your Needs.PcBuildAdvisor.com

Choose Linux if you are a developer, run a VPS or home server, or want the cleanest possible setup with the most community support. Any mainstream Linux distro works, and every tutorial you find will apply directly.

Choose Windows via WSL2 if your daily driver is a Windows machine and you do not want a separate device dedicated to OpenClaw. WSL2 gives you a real Linux environment without leaving Windows. This is the right setup for developers on Windows who want to integrate OpenClaw into their existing workflow.

Choose Raspberry Pi if you want a dedicated, always-on, private AI assistant running in your home or office 24/7 at near-zero electricity cost. Get the Pi 5 with 8GB RAM, use an NVMe SSD, and follow the systemd setup in this guide. The ClawRapid comprehensive Raspberry Pi setup guide is one of the most detailed community resources for this setup, covering hardware selection through monitoring and maintenance in a single guide.

Choose Android only if it is the only device you have available and you understand the limitations around background execution and battery management. It works, but it requires more patience than any other platform.

For a hands-on demonstration of the full Ubuntu Linux + Ollama integration running OpenClaw locally with zero API cost, This complete walkthrough on YouTube covers the entire installation from scratch including dependency setup, Ollama model download, and connecting everything together.


Universal Troubleshooting Commands

These commands work identically across Linux, Windows (WSL2 or native), Raspberry Pi, and Android (Termux):

bash# Full health check
openclaw doctor

# Check current status
openclaw status

# Restart the gateway
openclaw gateway restart

# View live logs
openclaw logs --follow

# Open the Control UI
openclaw dashboard

# List all installed skills
openclaw skills list

# Update OpenClaw to the latest version
npm update -g openclaw

The most common error messages across all platforms:

ErrorCauseFix
Gateway not responding or 0 tokens usedDaemon stopped or API auth failedopenclaw gateway restart, verify API key
RPC probe: failedPort 18789 blocked or in usesudo lsof -i :18789, kill conflicting process
Access not configuredUser ID not allowlistedRun openclaw pairing approve with your pairing code
EACCES errors in DockerNode user lacks volume permissionssudo chown -R 1000:1000 ~/.openclaw
node: command not foundNode.js not installed or PATH issueInstall Node.js 22.x, verify PATH
Cannot find module 'openclaw'npm global install failedRe-run npm install -g openclaw@latest

Security Reminders That Apply on Every Platform

Security Reminders That Apply on Every Platform.
Security Reminders That Apply on Every Platform.PcBuildAdvisor.com

OpenClaw runs with shell access and file permissions, which means a misconfigured or compromised installation is a real risk on any platform. A few non-negotiable practices regardless of what you are running on:

  • Enable exec.ask: "on" in your config to require explicit approval before write or exec commands, especially when first setting up
  • Never expose port 18789 to the public internet. Use Tailscale, WireGuard, or an SSH tunnel for remote access
  • Treat ~/.openclaw/ like a password vault. It contains your API keys and agent credentials
  • Review skills before installing them. As the Cherry Servers OpenClaw Linux VPS setup guide emphasizes, running OpenClaw on a network-connected server means thinking carefully about what access each installed skill has and limiting permissions to what is actually needed
  • Run OpenClaw in Docker or a dedicated VM on shared or production systems to limit blast radius if something goes wrong

Frequently Asked Questions

Does OpenClaw run on Linux?

Yes, fully and natively. Linux is the primary supported platform. Use the one-line installer (curl -fsSL https://openclaw.ai/install.sh | bash), npm global install, or Docker. Ubuntu 22.04 and 24.04 LTS are the most tested distributions.

Does OpenClaw run on Windows?

Yes. The recommended method is installing inside WSL2 (Windows Subsystem for Linux), which gives you a full Linux environment within Windows. Use curl -fsSL https://openclaw.ai/install.sh | sudo bash inside WSL2 to avoid EACCES permission errors. A native Windows PowerShell installer is also available. Both methods are fully supported.

Does OpenClaw run on Raspberry Pi?

Yes. It is one of the most popular self-hosting setups in the community. The minimum hardware is a Pi 4 with 4GB RAM, but the Pi 5 with 8GB RAM is strongly recommended for comfortable 24/7 operation. Use Raspberry Pi OS Lite 64-bit and an NVMe SSD rather than an SD card.

Does OpenClaw run on Android?

Yes, but it is unsupported officially and requires Termux from F-Droid. It works best on devices with 6GB or more RAM and a recent SoC. Battery optimization settings must be adjusted to prevent Android from killing the Termux background process.

What is the minimum RAM for OpenClaw on any platform?

1GB RAM is the absolute minimum for the gateway alone. 4GB is recommended for stable npm builds and running skills. On Raspberry Pi and Android specifically, 8GB RAM provides significantly better reliability for multi-skill workflows.

Can I run OpenClaw without a cloud AI API by using Ollama locally?

Yes, Ollama integration is supported on all platforms. However, local inference is only practical on a full desktop or laptop with a modern GPU or sufficient CPU power. On a Raspberry Pi or Android device, even a 3B parameter model takes 10 to 30 seconds per response, making local inference impractical for real use. Use cloud APIs on resource-constrained hardware and use Ollama locally only on full machines with 8GB+ RAM.

Which platform is easiest to set up for a beginner?

Linux (Ubuntu) or Windows via WSL2 are the easiest for most users. The one-line installer handles most of the setup automatically. Raspberry Pi requires some Linux command-line comfort. Android requires the most manual steps and ongoing maintenance.

Do OpenClaw skills work the same on all platforms?

Most skills work identically across Linux, Windows, and Raspberry Pi. A few skills with browser automation dependencies (Playwright MCP) may run slowly or unreliably on Raspberry Pi due to ARM memory constraints. On Android, browser automation skills are generally not reliable due to Android’s process management and limited Termux compatibility with headless browser runtimes.

Does OpenClaw work on macOS?

Yes, macOS is also a fully supported platform using the same one-line installer or npm global install. macOS uses launchd instead of systemd for the background daemon. This guide focuses on Linux, Windows, Raspberry Pi, and Android, but the macOS installation is equally straightforward.

How do I keep OpenClaw updated across all platforms?

The command is the same everywhere: npm update -g openclaw, followed by openclaw gateway restart. Always check the OpenClaw changelog before updating, as breaking changes can affect installed skills and existing configuration.


Bottom Line

OpenClaw runs well on all four platforms covered in this guide, but each has a different setup complexity and practical ceiling. Linux is the cleanest experience and the right choice if you have a server or VPS available. Windows via WSL2 is the right choice if your primary machine runs Windows and you want OpenClaw integrated into your existing workflow. Raspberry Pi is the right choice if you want a dedicated, private, always-on assistant at near-zero running cost and you are comfortable with Linux administration. Android works but belongs in the enthusiast category: it takes more effort, has more limitations, and needs more ongoing babysitting than any other platform. Start with the platform you already know, get OpenClaw running end-to-end with one skill and one messaging channel before expanding, and treat the first week as a configuration and learning period rather than a production deployment.

Author

Scroll to Top