WhatsApp quickstart

Link WhatsApp Web to OpenClaw, pair safely, and send your first message

This is the fast path for the personal-style WhatsApp channel (QR / WhatsApp Web). For groups, media limits, and Business Platform vs this channel, read the full WhatsApp guide and Business vs personal section.

Time: about 10–20 minutes. You need a phone with WhatsApp installed to scan the QR code.

Before you start

  • OpenClaw on a host that stays online if you want 24/7 replies (Mac Mini home server or VPS).
  • Understand DM pairing—strangers should not drive your agent (safety checklist).
  • Using a dedicated phone number for the assistant reduces risk to your personal chats.

Step 1 — Install OpenClaw

Terminal
npm install -g openclaw@latest
openclaw onboard

Enable WhatsApp during onboarding or later in configuration. See installation for platform notes.

Step 2 — Start the Gateway

Terminal
openclaw gateway start

Leave this running (or use a service manager / macOS app on a home server).

Step 3 — Scan the QR code

  1. Run openclaw channels login (or follow the wizard prompt for WhatsApp).
  2. On your phone: WhatsApp → Settings → Linked devices → Link a device.
  3. Scan the terminal QR before it expires.

If the QR fails, restart the Gateway and try again; avoid linking from two hosts at once.

Step 4 — Pair trusted senders

With default dmPolicy: "pairing", unknown numbers get a code instead of full agent access:

  1. From your phone, message the linked WhatsApp number (or have a friend test).
  2. Note the pairing code in the reply.
  3. On the Gateway host:
Terminal
openclaw pairing list whatsapp
openclaw pairing approve whatsapp <code>

Details: pairing guide. Do not set open DMs until you have read hardening.

Step 5 — Verify

Terminal
openclaw doctor
openclaw security audit --deep

Send a test message from an approved sender. The agent should reply using your configured model (providers).

Troubleshooting

Symptom Likely cause Fix
Logged out / no sessionWhatsApp invalidated linkRe-run channels login
Only pairing codesNot approvedpairing approve
Delayed repliesHost slept (Mac)Prevent sleep
Business API needsWrong product pathSee Business Platform

What to do next