Peter Steinberger – WhatsApp CLI: sync, search, send

A third-party command-line interface for WhatsApp built on whatsmeow, featuring local history synchronization, fast offline search, and comprehensive message management.
WhatsApp CLI built on top of whatsmeow, focused on:
- Best-effort local sync of message history + continuous capture
- Fast offline search
- Sending messages
- Contact + group management
This is a third-party tool that uses the WhatsApp Web protocol via whatsmeow and is not affiliated with WhatsApp.
Core implementation is in place. See docs/spec.md for the full design notes.
- Messages: search/list includes display text for reactions, replies, and media types.
- Send:
wacli send file --filenameto override the display name. - Auth: optional
WACLI_DEVICE_LABEL/WACLI_DEVICE_PLATFORMenv overrides.
Installation
Choose one of the following options.
If you install via Homebrew, you can skip the local build step.
brew install steipete/tap/wacli
go build -tags sqlite_fts5 -o ./dist/wacli ./cmd/wacli
Run (local build only):
./dist/wacli --help
Default store directory is ~/.wacli (override with --store DIR).
Usage Examples
# 1) Authenticate (shows QR), then bootstrap sync
pnpm wacli auth
# 2) Keep syncing (requires prior auth)
pnpm wacli sync --follow
# Search messages
pnpm wacli messages search "meeting"
# Backfill older messages for a chat
pnpm wacli history backfill --chat [email protected] --requests 10 --count 50
# Send a message
pnpm wacli send text --to 1234567890 --message "hello"
History Sync
wacli sync stores whatever WhatsApp Web sends opportunistically. To try to fetch older messages, use on-demand history sync requests to your primary device (your phone).
Important notes:
- This is best-effort: WhatsApp may not return full history.
- Your primary device must be online.
- Requests are per chat (DM or group).
- Recommended
--countis50per request.
Source: Hacker News












