| name | beepctl |
| description | Use when sending messages, searching chats, or managing conversations across messaging platforms (Telegram, WhatsApp, Slack, iMessage, etc.) via Beeper Desktop API. |
| metadata | {"author":"blqke","homepage":"https://github.com/blqke/beepctl","clawdbot":{"emoji":"🐝","requires":{"bins":["beepctl"]},"install":[{"id":"npm","kind":"npm","package":"beepctl","global":true,"bins":["beepctl"],"label":"Install beepctl (npm)"}]}} |
beepctl
CLI for Beeper Desktop API — unified messaging from your terminal. Control all your messaging platforms (Telegram, WhatsApp, Slack, iMessage, etc.) through one interface.
📖 Setup & installation: see GitHub repo
Quick Start
beepctl accounts
beepctl chats list
beepctl chats list --search "John"
beepctl search "meeting" --after "1d ago"
beepctl send <chat-id> "Hello!"
Commands
Auth Management
beepctl auth show
beepctl auth set <token>
beepctl auth clear
Accounts
beepctl accounts
Browse Chats
beepctl chats list
beepctl chats list --limit 20
beepctl chats list --search "John"
beepctl chats list --inbox archive
beepctl chats list --inbox low-priority
beepctl chats list --inbox all
beepctl chats list --type group
beepctl chats list --unread-only
beepctl chats list --activity-after "1d ago"
beepctl chats show <chat-id>
beepctl chats create <account> <users...>
Inbox filters: primary (default), archive, low-priority, all
List Messages
beepctl messages <chat-id>
beepctl messages <chat-id> --limit 10
beepctl messages work --after "1d ago"
beepctl messages <chat-id> --before "1h ago"
Search Messages
beepctl search "query"
beepctl search "query" --limit 10
beepctl search "meeting" --after "1d ago"
beepctl search "hello" --chat work
beepctl search "files" --media file
beepctl search "dm" --chat-type single
beepctl search "update" --sender others
beepctl search "msg" --account <id>
beepctl search "todo" --include-low-priority
beepctl search "important" --exclude-muted
Combine filters:
beepctl search "deploy" --chat work --sender others --after "1d ago" --media link
beepctl search "hello" --chat work family
beepctl search "test" --chat id1,id2,id3
Time formats: 1h ago, 2d ago, 3w ago, 1mo ago, yesterday, today
Media types: any, video, image, link, file
Aliases
Create shortcuts for frequently used chat IDs:
beepctl alias list
beepctl alias add work <chat-id>
beepctl alias show work
beepctl alias remove work
beepctl send work "Using alias!"
Archive Chats
beepctl archive <chat-id>
beepctl archive <chat-id> --unarchive
beepctl archive work
beepctl archive <chat-id> --quiet
Send Messages
⚠️ NEVER send messages without explicit user approval first!
Always show the message content and recipient, then ask for confirmation.
beepctl send <chat-id> "Hello!"
beepctl send myself "Quick note"
beepctl send <chat-id> "Reply" --reply-to <msg-id>
beepctl send <chat-id> "msg" --quiet
Focus (Bring to Foreground)
beepctl focus
beepctl focus <chat-id>
beepctl focus <chat-id> -m <msg-id>
beepctl focus <chat-id> -d "draft"
beepctl focus <chat-id> -a /path/file
Send Media
beepctl send only supports text. To send media, use focus with draft:
beepctl focus <chat-id> -a /path/to/image.png -d "Caption"
Contacts
beepctl contacts search <account> <query>
Download Attachments
beepctl download <mxc-url>
beepctl download <mxc-url> -o /path
Reminders
beepctl reminders set <chat> 30m
beepctl reminders set <chat> 1h
beepctl reminders set <chat> 2d
beepctl reminders set <chat> tomorrow
beepctl reminders clear <chat>
React to Messages
beepctl react <chat-id> <message-id> 👍
beepctl react <chat-id> <message-id> thumbsup
beepctl react <chat-id> <message-id> custom_emoji_key
beepctl react <chat-id> <message-id> 👍 --remove
beepctl react work <message-id> ❤️
<reaction-key> accepts an emoji, shortcode, or custom emoji key. --remove removes the authenticated user's reaction only — it cannot remove other users' reactions.
Tips
- Chat IDs look like:
!gZ42vWzDxl8V0sZXWBgO:beeper.local
- Use aliases to avoid typing long chat IDs
- The special alias
myself sends to your own chat