Files
Charles c81aee5a96 docs: add ChromeOS (Crostini) platform install guide (#107663)
* docs: add ChromeOS (Crostini) platform install guide

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* docs: correct ChromeOS Linux container setup path

* docs: add zh-CN glossary entries for ChromeOS page terms

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-authored-by: Patrick Erichsen <patrick.a.erichsen@gmail.com>
2026-08-04 15:41:42 -07:00

3.6 KiB

summary, read_when, title
summary read_when title
Run the OpenClaw Gateway on ChromeOS inside a Crostini Linux container
Installing OpenClaw on a Chromebook or ChromeOS device
Debugging missing provider keys or a Gateway that is gone after a reboot
ChromeOS

ChromeOS runs Linux software through Crostini, a managed Debian container that Google exposes as the "Linux development environment". The Gateway runs inside that container exactly like any other Linux install, so the Linux guide applies in full. This page covers the ChromeOS specific setup and the gotchas that differ from a plain Linux host.

OpenClaw requires Node because its canonical state store uses 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:

  1. Open ChromeOS Settings.
  2. Go to About ChromeOS then Developers.
  3. Next to Linux development environment, select Set up and follow the prompts. ChromeOS downloads the Debian container and opens a Terminal.

Run every command below inside that Terminal.

Quick path

  1. Install via the installer script (it installs a supported Node for you):

    curl -fsSL https://openclaw.ai/install.sh | bash
    
  2. Onboard and install the service:

    openclaw onboard --install-daemon
    
  3. Confirm the Gateway is running:

    openclaw gateway status
    

Full server guidance lives in the Linux guide and the Gateway runbook.

Prefer the native install over Docker

On a single user Chromebook, use the native npm install (the installer script, or a global npm 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:

node -v

See Node install guidance for the supported versions.

Provider keys and environment variables

The Gateway runs as a systemd user service, so an export VAR=... in an interactive Terminal is not inherited by the already-installed service.

Put provider keys in ~/.openclaw/.env instead, one per line:

DEEPSEEK_API_KEY=your-key-here

Then restart so the service picks them up:

openclaw gateway restart

See Environment variables for the full precedence and source rules.

Crostini is not always on

Do not treat Crostini as an always-on host. After a ChromeOS reboot, open the Terminal once to start the Linux environment before relying on the Gateway.

Then verify the service:

openclaw gateway status