beeper

Send and read chat messages across bridged networks via the Beeper Desktop API.

Updated Aug 5, 2026
One-click install
npx skills add https://github.com/harivansh-afk/loom-index-e2e --skill beeper-harivansh-afk
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: beeper
Source: https://github.com/harivansh-afk/loom-index-e2e/tree/main/skills/beeper
Command: npx skills add https://github.com/harivansh-afk/loom-index-e2e --skill beeper-harivansh-afk

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Messaging people on Signal, WhatsApp, Telegram, Discord, Instagram, X, or iMessage normally requires switching between apps and driving fragile UIs. This Skill lets an AI assistant search chats, read conversations, and send messages programmatically through the Beeper Desktop REST API on localhost, without racing the user's focus in the Electron app. ## Core Features & Use Cases - Chat Search and Reading: Query /v1/chats/search to find conversations across all bridged networks, then fetch message history with proper URL-encoding of chat IDs. - Message Sending with Confirmation: POST markdown text to any chat and verify delivery by re-reading the last message and checking isSender. - OAuth PKCE Token Recovery: Re-run the full OAuth authorization flow with in-app approval when the stored token returns 401, saving the new token to ~/.config/beeper/token. - Use Case: Ask the assistant to message a contact on Signal; it searches for the chat, sends the text with AI-authorship disclosure, and confirms the message was actually queued from your account. ## Quick Start Use the beeper skill to send a message to Ax on Signal saying I'll be ten minutes late, then confirm it was delivered.

Frequently Asked Questions about beeper

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I send a Signal message from the command line?▼

Use the Beeper Desktop API at http://127.0.0.1:23373 with a Bearer token. Search for the chat via /v1/chats/search, URL-encode the chat id, then POST a JSON payload with the text field to /v1/chats/{chatID}/messages.

How to read WhatsApp or Telegram chats via an API?▼

Beeper bridges WhatsApp, Telegram, Discord, and other networks into one local REST API. Authenticate with the token from ~/.config/beeper/token and GET /v1/chats/{chatID}/messages with a limit parameter to read recent history.

Why does the Beeper API return 401 Invalid token?▼

A 401 means the stored token is stale; Beeper mints tokens via OAuth PKCE with in-app approval and has no long-lived secret. Re-run the register, authorize, and token exchange flow, then write the new access_token to ~/.config/beeper/token.

Why do Beeper API requests return 404 on /v0 paths?▼

The /v0 prefix serves only the MCP transport at /v0/mcp, so REST calls there 404. All REST endpoints live under /v1/; a 404 on a /v1 route means the path is wrong, not the authentication.

Does a 200 response mean my Beeper message was delivered?▼

No, a 200 with pendingMessageID only means the message was queued. Confirm delivery by re-reading the chat with limit=1 and checking that the last message has isSender set to true with your text.