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 bubblewrapon 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)
cargo install openclaw-cli
This installs the unified openclaw binary into
~/.cargo/bin/. Make sure that directory is on your
$PATH.
From source
git clone https://github.com/neul-labs/openclaw-rs
cd openclaw-rs
cargo install --path crates/openclaw-cli First run — interactive onboarding
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)
openclaw onboard \
--non-interactive \
--accept-risk \
--flow quickstart \
--auth-choice anthropic \
--api-key "sk-ant-..." Start the gateway
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
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
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
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
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
- Read the architecture overview.
- Skim the security model before exposing the gateway.
- Configure providers + channels in
~/.openclaw/openclaw.json. - If you're migrating from TypeScript OpenClaw, read the migration guide.