pygmy
/ˈpɪŋ.miː/
pygmy lets AI coding agents (Claude Code, etc.) send you notifications when they finish a task, hit a blocker, or need your attention. You get a ping on your phone/desktop and come back when you're ready.
Supports Telegram (forum topics) and Discord (webhooks). Configure one or both — messages are sent to all enabled backends.
Notification is unidirectional — the agent can't read your replies, so it's just a simple "ping" to draw you back to the agent's interface.
Install
|
Or with Cargo:
Setup
Run pygmy init <backend> and follow the instructions:
You can set up both. After setup, copy the config file (~/.config/pygmy/config.toml) to any machine where you run agents.
Managing backends
Usage
# Send a notification to a topic
# Pipe from stdin
|
# Multiline with heredoc
Messages are Markdown. Telegram messages are converted to HTML; Discord messages are sent as-is (Discord renders Markdown natively). Topics are created on first use — no manual setup needed.
What it looks like
Telegram — each topic is a separate forum thread:
📂 Pygmy Notifications (Telegram Group)
├─ 💬 CAD-1234 auth refactor
│ "Done. PR #47 ready for review."
│
├─ 💬 deploy
│ "Build failed"
│
└─ 💬 investigation
"Found 3 issues: ..."
Discord — messages are prefixed with the topic name:
#pygmy-notifications (Discord Channel)
┊ **[CAD-1234 auth refactor]**
┊ Done. PR #47 ready for review.
┊
┊ **[deploy]**
┊ Build failed
Agent integration
After setup, add this to your CLAUDE.md (or equivalent agent instructions file). pygmy init prints this snippet for you.
Use `pygmy` to notify me. Messages are Markdown, sent to all configured backends (Telegram, Discord, etc.).
**When to use:**
- --
**Usage:**
```bash
pygmy --topic "<topic>" "<message>"
pygmy --topic "<topic>" --stdin <<'EOF'
Pick a short, descriptive topic name at the start of the session and reuse it for all messages.
Don't notify for every small step — only meaningful milestones or blockers (or when asked to).
Self-update
License
MIT