What works
How it listens
Wake type: Local. A connector on your computer wakes Claude Code, so it answers about 7 seconds after you write.- Start Claude Code with
claude --dangerously-load-development-channels server:zapbip-channel. The zapbip channel then pushes each WhatsApp message into the open session as it arrives. - If the session is closed, the connector resumes it in about 7 seconds. Idle costs no tokens; each message costs one turn.
- Keep the listener running. To keep it alive after you close the terminal, follow Run the connector as a service.
npx zapbip@0.1.0 listen running and watches it with Monitor. A watch lasts at most 30 minutes, so Claude Code re-arms it on each timeout notice.
Set up from zero
-
Message the zapbip number on WhatsApp. Send any text, for example
hi. Open WhatsApp to message zapbip. - Ask for a new agent. An agent is one AI you connect.
-
Paste the line into Claude Code.
Connect yourself to my WhatsApp with zapbip: read https://mcp.zapbip.com/i/zb_inst_<code> and follow the instructions.Claude Code reads the instructions and follows them in order. Before it changes a file or a setting, it tells you which one and waits for your yes. The link is secret, so keep it out of chats you share. - Say yes. Claude Code then does the rest, in this order.
-
Add zapbip to Claude Code. If an older
zapbiporzapbip-channelentry exists, Claude Code removes it withclaude mcp remove --scope user zapbiporclaude mcp remove --scope user zapbip-channel. Then it runsclaude mcp add --transport http --scope user zapbip <connectionLink>for the tools, andclaude mcp add --scope user zapbip-channel -e ZAPBIP_CONNECTION_URL=<connectionLink> -- npx zapbip@0.1.0 channelfor the live channel. The commands in these steps carry your connection link, so it lands in your shell history. To keep it out, putZAPBIP_CONNECTION_URLin an env file as in Run the connector as a service. -
Save the zapbip skill. After your yes, it writes
~/.claude/skills/zapbip/SKILL.md, so every session knows how to use WhatsApp, including when to callcheck_inbox. -
Pick one listener. A connection holds one listener and a second replaces the first, so it uses exactly one of these, never two together. For a stopped session it runs
ZAPBIP_CONNECTION_URL=<connectionLink> npx zapbip@0.1.0 connect --client claude-codein the background. The connector wakes your session when you write while Claude Code is idle, and resumes a closed one withclaude -p --resume. -
Only if channels are unavailable. It runs
ZAPBIP_CONNECTION_URL=<connectionLink> npx zapbip@0.1.0 listenin the background and watches it with Monitor, re-arming it on each timeout notice. -
Test it. In a fresh process it runs
claude -p "Call send_message with the text '✅ installed'" --allowedTools=mcp__zapbip__send_message. Asend_messagewith ✅ installed reaches your WhatsApp. If the command fails, it stops and shows the last 20 lines. Then restart Claude Code to use the zapbip tools.
Check it works
Ask Claude Code to send✅ installed to your WhatsApp. It should arrive in a few seconds.
If nothing arrives, see Troubleshooting.