| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
A cross-platform command-line interface for the Beeper Desktop API. Built for programmatic access to Beeper conversations with LLM-friendly output formats.
🚀 Quick Start Guide | 📚 API Documentation | 🔧 Examples
While existing tools read the Beeper SQLite database directly, this CLI interfaces with the Beeper Desktop HTTP API to provide both read and write capabilities. This enables sending messages, managing conversations, and full bidirectional communication through Beeper's unified chat platform.
# Download latest release for your platform
# macOS (arm64)
curl -L https://github.com/nerveband/beeper-api-cli/releases/latest/download/beeper-api-darwin-arm64 -o beeper
chmod +x beeper
sudo mv beeper /usr/local/bin/
# Linux (amd64)
curl -L https://github.com/nerveband/beeper-api-cli/releases/latest/download/beeper-api-linux-amd64 -o beeper
chmod +x beeper
sudo mv beeper /usr/local/bin/
# Or build from source
go install github.com/nerveband/beeper-api-cli@latest# Auto-discover Beeper Desktop API
beeper discover
# Or manually configure
beeper config set-url http://localhost:23373
# List all chats
beeper chats list
# Get messages from a chat
beeper messages list --chat-id CHAT_ID
# Send a message
beeper send --chat-id CHAT_ID --message "Hello from CLI"
# Search messages
beeper search --query "important meeting"The CLI stores configuration in ~/.beeper-api-cli/config.yaml:
api_url: http://localhost:23373
output_format: json # json, text, markdown| Field | Type | Default | Description |
|---|---|---|---|
| api_url | string | http://localhost:23373 | Beeper Desktop API endpoint URL |
| output_format | string | json | Default output format: json, text, or markdown |
Environment variables override config file settings:
| Variable | Description |
|---|---|
| BEEPER_API_URL | Override API URL |
| BEEPER_OUTPUT_FORMAT | Override output format |
| BEEPER_TOKEN | API authentication token (required for most operations) |
Generate an API token in Beeper Desktop settings and set it as an environment variable:
export BEEPER_TOKEN="your-token-here"Token permissions:
All commands support multiple output formats via --output flag:
# JSON (default, ideal for LLM parsing)
beeper chats list --output json
# Plain text (human-readable)
beeper chats list --output text
# Markdown (formatted for documentation)
beeper chats list --output markdownbeeper chats list | jq '.[] | {name, participants, last_message}'MESSAGE_ID=$(beeper send --chat-id CHAT --message "Status update" --output json | jq -r '.message_id')beeper search --query "invoice" --output markdown > invoices.mdBuilt with Go for:
Uses Cobra for CLI framework and Viper for configuration management.
beeper-api-cli is designed for simplicity and minimal dependencies:
This makes it ideal for:
Different Beeper CLI tools have different strengths. Use the best tool for your use case!
Full-featured terminal client with desktop integration
Best for: Interactive terminal use, power users, desktop integration
Read-only SQLite access (original inspiration for this project)
Best for: Quick local reads, offline access
Lightweight API client for automation
Best for: Automation, CI/CD, LLM integration, simple deployments
# Clone repository
git clone https://github.com/nerveband/beeper-api-cli
cd beeper-api-cli
# Install dependencies
go mod download
# Build
go build -o beeper
# Run tests
go test ./...
# Cross-compile
./build.shThis CLI is designed for programmatic access by LLMs and automation tools.
Use --json-errors for machine-readable error output:
beeper chats list --json-errors 2>&1Error JSON format:
{
"error": "error message",
"code": "error_code",
"category": "auth|config|permission|not_found|network|validation|server|unknown",
"operation": "operation_name",
"hint": "actionable suggestion"
}The CLI checks for updates automatically and notifies when a new version is available. To upgrade:
beeper upgradeUse --quiet to suppress update notifications in automated environments.
| Issue | Solution |
|---|---|
| "connection refused" | Start Beeper Desktop and enable API |
| "unauthorized" | Set BEEPER_TOKEN environment variable |
| "not found" | Verify chat/message ID with beeper chats list |
| "timeout" | Check network, restart Beeper Desktop |
Run beeper info for diagnostic information.
| Code | Meaning |
|---|---|
| 0 | Success |
| 1 | User/Application error (invalid arguments, missing resources, permission denied) |
| 2 | System/Network error (connection failed, timeout, server error) |
MIT
Contributions welcome. Please open an issue before starting major work.
| Back | FazBrowse Home | New Git URL |