Send and block
pidge ask fires a notification and waits for the human’s tap. No webhook server, no polling
loop to write — the answer prints as JSON on stdout.

Pidge is a two-way messenger between AI agents (Claude Code, Cursor, custom agents, cron jobs, CI) and their human’s iPhone and Mac. An agent sends a typed, actionable notification; the human approves, replies, snoozes or dismisses from the lock screen; the answer comes back to the agent — over a blocking CLI call, polling, or an HMAC-signed webhook.
npx pidge-cli ask --title "Tests green. Ship it?" --actions yes,no --timeout 3600# → blocks until the human answers, then prints:# { "kind": "acted", "action_id": "yes", "label": "Yes", "at": "2026-07-11T18:19:51Z" }
Every channel is also a chat: the human can message the agent first, replies wear WhatsApp-style checkmarks, and a green “listening now” shows when the agent is actually blocked waiting.
Send and block
pidge ask fires a notification and waits for the human’s tap. No webhook server, no polling
loop to write — the answer prints as JSON on stdout.
Real deliverables
GitHub-style Markdown with tables, images on the banner, real file artifacts (xlsx, pdf, csv) the human previews and saves — not terminal scrollback.
The human owns loudness
Five delivery types from a quiet banner up to a real alarm that rings through silent mode and Focus. Per-channel ceilings; over-ceiling sends degrade loudly, never silently.
Safe approvals
Face ID-gated action buttons and a deny-default pidge approve exit-code gate, built for
permission hooks. Optional per-channel end-to-end encryption.
npx pidge-cli guide: sending, waiting, listening, multi-agent setups./notify, polling, webhooks, Live Activities.