OpenClaw is built with TypeScript and runs on Node.js, giving it inherent cross-platform capability. Whether you're using macOS, Linux, or Windows, and whether you want to run locally on a desktop or on a cloud server, there's a deployment solution for you. This article systematically covers the installation methods for each platform and cloud hosting options to help you find the deployment path that best fits your needs.
Technical Foundation
OpenClaw's core — the Gateway service — is written in TypeScript and depends on the Node.js runtime. This means any environment that can run Node.js can theoretically deploy OpenClaw.
One important caveat: Do not use Bun to run the Gateway. Although Bun is compatible with most Node.js APIs, there are known bugs when handling WhatsApp and Telegram connections that cause message sending and receiving anomalies. Always use the official Node.js runtime.
Supported Client Platforms
Beyond the core Gateway service, OpenClaw also provides multi-platform Companion Apps for convenient management and monitoring:
| Platform | Status | Description |
|---|---|---|
| macOS | Released | Menu bar resident tool for quick status checks and service management |
| iOS | Released | Mobile management, view messages and configuration anytime, anywhere |
| Android | Released | Same as iOS, supports push notifications |
| Windows | In Development | Desktop client, coming soon |
| Linux | In Development | Desktop client, coming soon |
It's important to understand that the Companion App is for managing and monitoring the Gateway — the Gateway itself is the core service that processes messages and needs to be deployed separately and kept running.
Gateway Installation Methods
OpenClaw provides four installation methods, from simplest to most flexible.
Option 1: One-Click Install Script (Recommended)
The official interactive installation wizard automatically handles environment detection, dependency installation, and basic configuration:
curl -fsSL https://openclaw.ai/install.sh | bash
This is the most recommended approach, suitable for most users. The script guides you through Node.js version checking, Gateway installation, and initial configuration.
Option 2: npm Global Install
If you already have a Node.js environment, you can install directly via npm:
npm install -g openclaw@latest
After installation, if the terminal says openclaw command is not found, check whether the npm global install path is in your system PATH:
npm prefix -g
Add the bin directory under the output path to your PATH environment variable.
Option 3: Build from Source
For users who need customization or want to contribute to development:
git clone https://github.com/openclaw-ai/openclaw.git
cd openclaw
pnpm install
pnpm build
When using pnpm, you need to run an extra step to authorize build scripts:
pnpm approve-builds -g
Option 4: Install Gateway Directly
If you only need the Gateway core component without the full toolchain, you can install the Gateway package separately. Refer to the official documentation for the specific package name and method.
Post-Installation Initialization
Regardless of the installation method, the following three steps are recommended after completion:
# 1. Run the onboarding wizard to complete initial configuration and install the daemon
openclaw onboard --install-daemon
# 2. Check that the environment is working correctly
openclaw doctor
# 3. Open the management dashboard
openclaw dashboard
openclaw doctor detects Node.js version, network connectivity, configuration files, and other critical items, helping you quickly identify issues.
OS-Specific Deployment Notes
macOS
macOS is a first-class citizen platform for OpenClaw. After installing the Gateway, you can achieve auto-start on boot and background operation via LaunchAgent. openclaw onboard --install-daemon automatically creates the corresponding LaunchAgent configuration file — no need to manually write a plist.
Linux
Linux servers are the preferred choice for production deployments. Using systemd user services to manage the Gateway process is recommended for automatic restarts and log management. Likewise, openclaw onboard --install-daemon automatically generates the systemd service file.
After creating the service, manage it with these commands:
systemctl --user start openclaw
systemctl --user enable openclaw
systemctl --user status openclaw
Windows
Windows users are recommended to use WSL2 (Windows Subsystem for Linux 2) to run the Gateway. WSL2 provides a complete Linux kernel environment, avoiding compatibility issues that may arise on native Windows.
# Install in WSL2
wsl
curl -fsSL https://openclaw.ai/install.sh | bash
The Gateway in WSL2 can also be managed with systemd (requires WSL2 systemd support to be enabled).
Cloud Hosting Options
If you want the Gateway to run stably 24/7, deploying to the cloud is a better choice. Here are community-verified hosting options:
| Option | Features | Best For |
|---|---|---|
| VPS (Vultr, DigitalOcean, etc.) | Full control, flexible configuration | Users with ops experience |
| Fly.io | Containerized deployment, global nodes | Users seeking low latency |
| Hetzner + Docker | Cost-effective European data centers | Budget-conscious users |
| Google Cloud Compute Engine | Enterprise-grade infrastructure | Teams needing high availability |
| exe.dev | Provides VM with built-in HTTPS proxy | Users wanting quick setup |
Among these, VPS is the most versatile option — you have full server control and can configure the environment as needed. A minimum of 1 vCPU and 2GB memory can run the OpenClaw Gateway smoothly.
Deployment Recommendations
Here are some practical recommendations for different scenarios:
- Personal exploration: Install on a local macOS or Linux machine with the one-click script — up and running in minutes.
- Long-term use: Choose a VPS or Fly.io, combined with systemd or container orchestration, to keep the service continuously online.
- Multi-platform management: After deploying the Gateway, install the iOS/Android Companion App on your phone to check the running status anytime.
- Windows users: Do not run the Gateway directly on native Windows — using WSL2 avoids a large number of compatibility issues.
- Avoid Bun: On any platform, use Node.js rather than Bun to run the Gateway.
OpenClaw's cross-platform nature lets you flexibly choose your deployment method based on your needs. From a Raspberry Pi to a cloud server, from a personal laptop to an enterprise cluster, there's always a solution that fits.