Use this page for the base sandbox setup before adding channels.

1. Install OpenClaw

Install OpenClaw in the sandbox terminal:
npm install -g openclaw@latest
Verify the CLI is available:
command -v openclaw
openclaw --version
Expected:
  • command -v openclaw returns a path
  • openclaw --version prints a version like 2026.3.8

2. Run Non-Interactive Onboarding

Run onboarding with sandbox-safe flags only:
openclaw onboard \
  --non-interactive \
  --accept-risk \
  --mode local \
  --gateway-port 18789 \
  --gateway-bind loopback \
  --skip-skills \
  --skip-channels \
  --skip-daemon \
  --skip-health \
  --json
Why these flags matter:
  • --accept-risk is required in non-interactive mode
  • --skip-daemon is required because systemd is not available in the sandbox container
  • --skip-health avoids a false failure before the gateway is started manually
  • auth is configured in a separate step so you can choose Anthropic API key or OpenAI Codex OAuth cleanly
Expected output:
  • Updated ~/.openclaw/openclaw.json
  • Workspace OK: ~/.openclaw/workspace
  • a JSON summary with mode: "local" and installDaemon: false
If onboarding aborts early, do not continue to Discord setup. Re-run onboarding until it completes successfully.

3. Configure Model Auth

After onboarding, continue to Model Auth. That page covers:
  • Anthropic API key setup
  • OpenAI Codex OAuth login
  • reusing an existing Codex auth store in a sandbox

Next