Goal: Send proactive WhatsApp messages using the message tool (action=send, target=+number).
What happens: Every send attempt fails with:
Error: No active WhatsApp Web listener (account: default). Start the gateway, then link WhatsApp with: openclaw channels login --channel whatsapp --account default.
But: Auto-reply (responding to incoming messages) works perfectly. The agent receives and replies to WhatsApp messages without any issue.
Environment:
- OpenClaw 2026.3.13 (61d171a)
- macOS 15.7.3 (arm64), Node 22.22.0
- WhatsApp channel: linked, running, connected (confirmed via
openclaw channels status --probe) - Gateway mode: local, bind: loopback
- Config:
allowCrossContextSend: true,sendMessage: true,dmPolicy: open
Logs show:
[tools] message failed: Error: No active WhatsApp Web listener (account: default)
And gateway/delivery-recovery retries also fail with same error.
Meanwhile, the web-auto-reply module delivers replies successfully using deliverWebReply.
What I tried:
- Gateway restart (
openclaw gateway restart) - Re-checking credentials (
~/.openclaw/credentials/whatsapp/default/) - Verifying config (
sendMessage: true,allowCrossContextSend: true) - All channel probes show OK
It seems like the message tool looks for the WhatsApp listener through a different path than the auto-reply module. Is this a known issue or am I missing a config?