Beeper CLI
Read, send, and archive messages via Beeper Desktop. Uses Beeper local MCP API so agents can manage all your chats (iMessage, WhatsApp, etc.) in one place.
Tags: messaging, beeper, cli, automation
Category: devtools
Tips
- Enable the Beeper Desktop API in Settings → Developers, then create an approved connection token for the CLI
- Enable 'Allow sensitive actions' on the token if you want the agent to send messages — read-only tokens can only view chats
- Set up chat aliases (`beepctl alias set work <chat-id>`) for frequently accessed chats so commands are shorter and more readable
- Use `--compact` or `--json` output when integrating with OpenClaw for clean, parseable responses
- Combine with OpenClaw's cron to do periodic inbox sweeps — check for unread messages across all platforms and summarize in Telegram
Community Feedback
CLI for Beeper Desktop API — unified messaging from your terminal. Give your AI agents the power to chat across all your messaging platforms.
— GitHub
Read, send, and archive messages via Beeper Desktop. Uses Beeper local MCP API so agents can manage all your chats (iMessage, WhatsApp, etc.) in one place.
— OpenClaw Showcase
Frequently Asked Questions
Does this require Beeper Desktop to be running?
Yes. beepctl communicates with the Beeper Desktop local API, so Beeper Desktop must be running on the same machine (or accessible via network) for the CLI to work.
Can it send messages to any platform through Beeper?
Yes, as long as the platform is connected in your Beeper account and the API token has 'sensitive actions' enabled. You can send to iMessage, WhatsApp, Signal, Telegram, Slack, and any other Beeper-supported platform.
Is this an official Beeper tool?
No. It's an unofficial community tool that uses Beeper's Desktop API. The Beeper Desktop API itself is in beta, so expect potential breaking changes with Beeper updates.
How does it handle attachments and media?
beepctl can download attachments from messages using mxc:// URLs. Use `--json` output to get attachment URLs from messages, then pipe them to `beepctl download` for retrieval.