node:sqlite.
Bun can install dependencies or run package scripts, but it cannot run the
OpenClaw CLI or Gateway.
Enable the Linux container
Turn on Crostini before installing anything:- Open ChromeOS Settings.
- Go to About ChromeOS then Developers.
- Next to Linux development environment, select Set up and follow the prompts. ChromeOS downloads the Debian container and opens a Terminal.
Quick path
-
Install via the installer script (it installs a supported Node for you):
-
Onboard and install the service:
-
Confirm the Gateway is running:
Prefer the native install over Docker
On a single user Chromebook, use the native npm install (the installer script, or a globalnpm i -g openclaw@latest) rather than Docker.
Docker works inside Crostini, but Docker in Crostini adds friction: if you use
the Claude Code CLI as your model runtime, it has to be installed and logged in
inside a persisted container home, which is easy to lose on a container
rebuild. The native install keeps the CLI and its login on the Crostini
filesystem directly, so a Docker image rebuild cannot wipe it.
Node version
The Node version available in a Crostini container may be below OpenClaw’s minimum. OpenClaw requires Node 22.22.3+, Node 24.15+, or Node 25.9+; Node 26 is the recommended default. The installer script detects a missing or unsupported Node version and provisions a supported release automatically. If you installed Node yourself before OpenClaw, upgrade it before installing OpenClaw:Provider keys and environment variables
The Gateway runs as a systemd user service, so anexport VAR=... in an
interactive Terminal is not inherited by the already-installed service.
Put provider keys in ~/.openclaw/.env instead, one per line: