Your AI CLI,
one message away.
Send a WhatsApp message from anywhere. Claude replies.Your Mac doesn't even need to be open.

Everything else had a catch.
Reverb is a separate process. It holds the WhatsApp socket alive and spawns claude --print per message. LaunchAgent-hosted, ~50 MB RAM, no cloud. Read the full writeup →
Built to run unattended.
Clone. Pair. Done.
- 01
Install
Clone the repo, build, and generate your LaunchAgent plist. One script. No Docker, no Twilio, no API keys.
bashgit clone https://github.com/eusougustavocesar/reverb.git cd reverb npm install && npm run build bash scripts/install.sh
- 02
Pair your phone
Scan a QR from your terminal. Reverb registers as a WhatsApp linked device, same protocol as WhatsApp Web. Auth survives reboots.
bashnpm run pair # → QR renders in terminal # → WhatsApp > Settings > Linked Devices > Link a Device
- 03
Start the daemon, close your Mac.
The LaunchAgent takes over. Starts on boot, reconnects on drops, restarts on crash. Message yourself on WhatsApp. Claude replies.
bashlaunchctl bootstrap gui/$(id -u) \ ~/Library/LaunchAgents/com.$(whoami).reverb.plist # Done. Message from anywhere.
The daemon and Claude Code run as independent processes. The WhatsApp socket stays alive for hours; each Claude invocation exits in seconds. That's why Reverb works when plugin-based bridges don't.
Why not the alternatives?
Setup time (minutes, lower is better)
measured on a fresh macOSI wanted to use Claude Code from my phone. The official plugin died the moment I closed the CLI. Docker ate 4 GB of RAM for a chat bridge. Twilio wanted a business account.
So I wrote a ~300-line daemon. It spawnsclaude --printper message, runs as a LaunchAgent, and uses my existing subscription. Mac closed. Phone in pocket. Claude still replies.

Clone to daemon in 5 minutes.
git clone https://github.com/eusougustavocesar/reverb.git cd reverb npm install && npm run build # 1. Scaffold LaunchAgent plist bash scripts/install.sh # 2. Pair your phone (scan QR) npm run pair # 3. Start the daemon launchctl bootstrap gui/$(id -u) \ ~/Library/LaunchAgents/com.$(whoami).reverb.plist
Boot it once. It handles the rest — starts on login, reconnects on network drops, restarts on crash. Message yourself on WhatsApp to verify.