Skip to file

adamwickwire — Launchpad

~/adamwickwire

writing/getting-started-with-openclaw.md

Getting started with OpenClaw

2026-09-08

OpenClaw is a self-hosted Gateway that connects Discord, Google Chat, iMessage, Matrix, Microsoft Teams, Signal, Slack, Telegram, WhatsApp, Zalo, and more (via channel plugins) to AI agents. One Gateway process on your hardware bridges the apps you already message to an always-available assistant. It is developed in the open by the OpenClaw Foundation (independent 501(c)(3)), MIT licensed, with no paid tier (docs.openclaw.ai).

Most people stall in the gap: they follow a random VPS affiliate video, get a dashboard open, then leave DMs wide open with tools on. Stop that. Run the official Getting Started path, send one Control UI message, then lock who can talk to the bot before you enable serious tools.

What “done” actually means

Search phrasingWhat you usually wantOfficial destination
openclaw setup guide / tutorialInstall → onboard → first chatGetting started
getting started with openclaw~5-minute path + a channelSame + Channels hub
openclaw agentGateway + workspace agent + tools/skillsPersonal assistant setup
openclaw pairing / allowlist / securityWho can DM the bot + tool blast radiusSecurity

Done per official Getting Started: running Gateway, configured auth, working chat session — Control UI chat works; optional Telegram (fastest phone channel) or another channel (getting-started). A VPS panel opening is not done.

The real beginner cliff is who can DM the bot and which tools it can run — not whether the installer finished.

Prerequisites (before the install command)

Re-check Node floors on the live Getting Started page at publish time; docs move.

  • Node: Getting Started currently targets recent Node 24.x / 26.x lines (Node 26 recommended). Check with node --version (getting-started, docs home).
  • AI access for onboarding: an existing Claude Code or Codex CLI login, or a provider API key — onboarding can reuse/detect it and verifies with a real completion (getting-started, wizard).
  • Install entry points:
  • One-liner try: npx openclaw@latest
  • macOS/Linux: curl -fsSL https://openclaw.ai/install.sh | bash
  • Windows PowerShell: iwr -useb https://openclaw.ai/install.ps1 | iex

(getting-started, Windows)

  • Windows path choice: Native Windows Hub companion app is the easiest desktop path; PowerShell installer + WSL2 Gateway also supported (Windows).
  • WhatsApp personal-assistant extras (later): WhatsApp plugin (or chosen during onboarding) and a second phone number (SIM/eSIM/prepaid) for the assistant (personal assistant).

Config and state live under ~/.openclaw/ — config at ~/.openclaw/openclaw.json, default workspace ~/.openclaw/workspace (docs home, setup).

First-path recipe (~5 minutes)

Goal: Install → onboard → Gateway listening → dashboard chat works (getting-started).

  1. Install via the installer script (or npx openclaw@latest / other Install-hub methods). The installer detects OS, can install Node, installs OpenClaw, and starts onboarding.
  2. Onboarding lanes (after the security-guide pointer):
  • Quick start: reuses detected Claude Code / Codex / API-key route; verifies with a real completion; saves config; opens the web dashboard with Gateway in the foreground.
  • Custom setup: full guided flow.
  • Classic step-by-step: openclaw onboard --classic.

(getting-started, wizard)

  1. CLI entry: openclaw onboard is the recommended terminal path on macOS/Linux/Windows native or WSL2. openclaw setup runs the same flow; openclaw setup --baseline = config/workspace only without the full wizard (wizard, setup).
  2. Background Gateway: Quick start leaves Gateway in the foreground (Ctrl+C stops it; config persists). Then run openclaw gateway install (LaunchAgent on macOS / systemd user unit on Linux+WSL2 / Scheduled Task on native Windows with Startup-folder fallback).
  3. Verify: openclaw gateway status — expect Gateway listening on port 18789.
  4. Dashboard: openclaw dashboard (Control UI; local default http://127.0.0.1:18789/). Send the first message in Control UI chat.
  5. Phone channel (optional next): Telegram is called out as fastest (bot token). Full list includes Discord, Feishu, iMessage, Matrix, Microsoft Teams, Signal, Slack, Telegram, WhatsApp, Zalo, and more.
  6. Later reconfigure: openclaw configure (workspace, model, web, gateway, daemon, channels, plugins, skills, health). Non-interactive: openclaw config get|set|unset (configure).
  7. If broken: openclaw triage (read-only diagnosis + optional handoff) or openclaw doctor.

Classic wizard defaults worth knowing: local gateway, loopback bind, workspace default, Gateway port 18789, Gateway auth token (auto-generated even on loopback), tool policy tools.profile: "coding" for new setups, Tailscale off; Telegram/WhatsApp DMs default to allowlist (wizard).

Lead with installer → Quick start → gateway install → port 18789 → dashboard. Defer WhatsApp two-phone hardening to the next section so “hello world” does not get mixed with personal-assistant setup.

Personal-assistant hardening (do not skip)

The official personal assistant guide is for a dedicated WhatsApp number that behaves like an always-on AI assistant — not a shared team gateway (personal assistant).

ControlWhat the docs say
Dedicated WhatsApp numberSecond phone (SIM/eSIM/prepaid) for the assistant; linking your personal WhatsApp makes every message agent input
`channels.whatsapp.allowFrom`Always set; never run open-to-the-world on a personal Mac
Pairing / DM policyDefault often pairing; unknown senders get a code until approved; prefer pairing + allowlists (security)
Config fileTuned config in ~/.openclaw/openclaw.json
`tools.fs.workspaceOnly`When true, outbound local media + fs tools stay scoped to workspace / temp / sandbox paths
HeartbeatsDefault every 30m; set agents.defaults.heartbeat.every: "0m" while evaluating — full agent turns burn tokens
GroupsPrefer requireMention: true plus mention patterns
Auditopenclaw security audit (+ --deep / --fix) after config changes or before exposure
Gateway bindDefault loopback; prefer Tailscale Serve over LAN bind; do not leave Gateway unauthenticated on public interfaces
Trust modelOne trust boundary per gateway; not hostile multi-tenant

5-minute WhatsApp path (after onboarded): openclaw channels login (QR with the assistant phone) → openclaw gateway --port 18789 → minimal allowFrom config → message the assistant from an allowlisted phone (personal assistant).

Default workspace ~/.openclaw/workspace ships starter files (AGENTS.md, SOUL.md, IDENTITY.md, USER.md). Treat them as agent memory; prefer a private git backup.

Hardening is the difference between a demo and a daily driver. Pair the getting-started CTA with pairing + allowFrom + workspaceOnly + security audit — not just dashboard screenshots.

Path forks (thin landscape)

This post is about setup path choice. Sibling posts cover product comparisons (OpenClaw vs chat apps, self-hosted vs SaaS, personal AI agents).

PathWho it is forCaveat
Installer + Quick startMost beginnersStill need auth + channel lockdown
macOS app (stable)Prefer GUI; bundled GatewayLink channels via CLI (setup)
Bleeding edge (dev)Contributors; gateway watchHot reload footguns
Windows HubWin10 20H2+ / Win11App-owned WSL Gateway
Native Windows CLITerminal-first WindowsScheduled Task fallback
WSL2 GatewayLinux-compatible on Windowslinger/systemd notes
VPS / always-on hostWhen laptop sleep kills agentsFollow gateway security first
Team / shared gatewayMutually trusting peopleSeparate gateways if not mutual trust

Hostinger one-clicks and YouTube VPS tutorials are deployment shortcuts, not the canonical security model. Use them only after you understand pairing, allowlists, and bind/auth.

Bottom line

  1. Run official Getting Started, not a random affiliate VPS guide.
  2. Prove chat in the Control UI on port 18789.
  3. Lock DM policy (pairing / allowFrom) before enabling broad tools.
  4. Turn heartbeats down while you evaluate; run openclaw security audit before any exposure.
  5. Only then add Telegram/WhatsApp and treat the assistant like a privileged coworker with a phone number.

Use the tools. Lock the door. Then live in the channel you actually message.

Sources

Primary docs only for this guide:

Re-check Node floors and command names on publish day. Do not invent install counts, stars, or token burn.