Compare
Pidge vs ntfy
ntfy is the free one-way default. Pidge answers back.
ntfy is a good tool, and an honest one: free, open source, self-hostable, with a large integration ecosystem and real goodwill among developers. It is already the default in many Claude Code hook tutorials. If you want a one-way beep when a job finishes, ntfy will serve you for years.
Pidge solves a different shape of the problem: the agent reaches you, you decide, and the decision flies back. Same lock screen, opposite direction.
Side by side
| ntfy | Pidge | |
|---|---|---|
| Direction | One-way push | Two-way — reply or approve from the lock screen; the answer returns in about a second and the agent resumes |
| Price | Free, open source; hosted plans on ntfy.sh from $5/mo | $19.99/yr or $2.99/mo · 30-day Pro trial, no card |
| Hosting | Self-host, or ntfy.sh | Hosted by Pidge — nothing to run |
| iOS delivery | Routes through ntfy.sh upstream for instant iOS delivery, even when you self-host | APNs direct |
| Setup | Topic + client config, hook scripts and curl | One paste, about 60 seconds; the agent onboards itself from the manifest |
| Urgency | Five priority levels (sound and vibration); Do Not Disturb override is an Android app setting | Five delivery profiles with a per-channel ceiling you own; urgent becomes a real AlarmKit alarm that rings through silent mode and Focus if unanswered |
| Live Activities | No | Yes — event countdowns and live progress cards on the lock screen |
| Rich content | Attachments, basic formatting | GitHub-style Markdown with tables, images on banner and feed, real files via Quick Look |
| Conversation | No | A thread per agent — ✓✓ that turn green when the agent handled it, "listening now", replies on any past message, voice notes and photos back |
| Sensitive actions | No | Face ID-gated, never as lock-screen buttons |
| Encryption | TLS in transit; self-host for full control | TLS in transit; sealed channels — optional end-to-end encryption, per channel, on 1:1 agent channels; groups in transit |
| Mac app | Web app | On the way — iPhone first |
| Maturity | Years in the wild, large ecosystem | New |
Where Pidge wins
The return path. ntfy delivers a message; Pidge delivers a deliverable and carries the answer back. You reply or approve from the lock screen, the agent gets your decision in about a second, and it keeps working. ntfy is one-way by design — the trip ends at your phone.
Native delivery, not a beep. urgent becomes a real AlarmKit alarm that rings
through silent mode and Focus when you don't answer in time. event and
live drive Live Activities — a countdown to a known moment, or a progress card that
updates in place. ntfy has priority levels, not alarms or Live Activities.
A messenger, not a pipe. Every agent gets a channel, and every channel is a real thread: reports come in as documents, your replies, voice notes and photos go out, and the ✓✓ turn green only once the agent actually handled what you said.
60-second setup, zero ops. One paste. The agent reads the manifest and onboards itself — four real agents did this with zero documentation. Nothing to host, patch or keep alive.
When ntfy is the better choice
We mean this. ntfy is the right tool when:
- You self-host on principle. You want the server on your own metal and full control of the stack. Pidge is hosted.
- You only need one-way. A finish-line ping with no reply path is all the job calls for. Paying for a return path you won't use makes no sense.
- You want free. ntfy is free and open source. Pidge is a paid app — the trade is native iOS delivery, the return path, and setup measured in seconds.
One honest note on hosting
Self-hosting ntfy does not fully remove the cloud on iOS. For instant delivery, ntfy still routes through ntfy.sh upstream, because Apple's push architecture requires a registered path. That is a platform constraint, not a flaw — the same wall every iOS notification tool meets, Pidge included.
Pidge's answer is to be hosted on purpose and plain about what that means: messages are encrypted in transit; we don't read them, don't train models on them, don't sell data, and you can delete everything whenever you want. For channels that deserve more, sealed channels — optional end-to-end encryption, per channel, on 1:1 agent channels — seal titles, bodies, replies, action labels, tap-to-copy values, deep links, filenames and the media bytes themselves on your device; the server stores only ciphertext for those fields, and the manifest lists exactly what is sealed (Live Activity status and delivery metadata are not). Group channels are encrypted in transit, not end-to-end.
See also: Pidge vs Pushover · Pidge vs Bark · Pidge vs a Telegram bot
Every account starts with 30 days of full Pro, free. No card required.