install · 60 seconds

Three commands.

cargo install the CLI. Run the onboarding wizard. Start the gateway. The dashboard is at http://localhost:18789.

Requirements

  • Rust 1.85+ (2024 edition).
  • Linux: bubblewrap (sudo apt install bubblewrap on Debian/Ubuntu).
  • macOS: built-in (sandbox-exec).
  • Windows: built-in (Job Objects).
  • Node.js 20+ optional, only needed for openclaw-node and for running TypeScript plugins.

From crates.io (recommended)

bash
cargo install openclaw-cli

This installs the unified openclaw binary into ~/.cargo/bin/. Make sure that directory is on your $PATH.

From source

bash
git clone https://github.com/neul-labs/openclaw-rs
cd openclaw-rs
cargo install --path crates/openclaw-cli

First run — interactive onboarding

bash
openclaw onboard

The wizard asks for a provider (Anthropic, OpenAI, or both), an API key (stored AES-256-GCM in ~/.openclaw/credentials/), a sandbox profile, and an optional daemon install.

First run — non-interactive (CI)

bash
openclaw onboard \
  --non-interactive \
  --accept-risk \
  --flow quickstart \
  --auth-choice anthropic \
  --api-key "sk-ant-..."

Start the gateway

bash
openclaw gateway run

The gateway binds to 127.0.0.1:18789 by default. The dashboard is at /; the JSON-RPC endpoint is at /rpc; the WebSocket at /ws.

Health check

bash
openclaw doctor

Verifies the sled event store, the credential store, the sandbox backend, and the configured providers. Add --repair to auto-fix common issues.

Run as a system service

bash
openclaw daemon install
openclaw daemon start

Installs systemd / launchd / NSSM unit files (depending on OS) and starts the gateway under the supervisor. Use openclaw daemon status to check.

Node.js — openclaw-node

bash
npm install openclaw-node
# or
bun add openclaw-node

Pre-built binaries ship for Linux x64/arm64, macOS x64/arm64, and Windows x64. No Rust toolchain needed on the install machine.

Container deploy

Dockerfile
FROM rust:1.85-alpine AS build
RUN apk add --no-cache musl-dev
WORKDIR /src
COPY . .
RUN cargo build --release --target x86_64-unknown-linux-musl

FROM alpine:3.20
RUN apk add --no-cache ca-certificates bubblewrap
COPY --from=build /src/target/x86_64-unknown-linux-musl/release/openclaw /usr/local/bin/
EXPOSE 18789
ENTRYPOINT ["openclaw", "gateway", "run"]

Next steps

next

The architecture is the next stop.

Once you have the gateway running, the architecture page explains what each crate does and how the layers fit together.