✅ Open source (MIT) · ✅ Works with any agent that supports hooks
Calls you back when an agent needs you. The moment an agent gets blocked waiting on your decision (or needs permission to run something), notify-me pushes a notification to your phone and/or plays a sound on your computer — so you can step away and still know when you’re needed.
Works with any agent that supports plugin hooks. Free, no account, no background process, no residue.
That’s it. From then on, when the agent gets blocked, your phone buzzes and your computer chimes.
A hook fires on two events:
| Event | Meaning | Default |
|---|---|---|
Notification |
the agent is blocked / waiting on you | on — high-priority push + sound |
Stop |
the agent finished a turn | off (fires every turn; opt in via NOTIFY_ON_STOP) |
Phone delivery uses ntfy.sh: the hook sends one curl to your private topic;
ntfy relays it through Apple/Google push to the ntfy app on your phone.
By default the push shows a generic line. To make it say, in plain language, what the agent needs, the agent leaves a one-line note right before it pauses:
bash "$CLAUDE_PLUGIN_ROOT/scripts/note.sh" "Editing your config — confirm whether to overwrite the old file?"
The next push uses that line (in whatever language it’s written), then clears it. Message priority is: explicit note → the agent’s own notification text → a generic default.
~/.notify-me/config| Field | Meaning | Default |
|---|---|---|
TOKEN |
private secret your phone subscribes to (the ntfy app calls it the “topic”) | (you choose) |
SOUND |
play a local computer sound — on/off |
on |
SOUND_FILE |
a sound-file path, or @system to follow your OS alert sound |
a system sound |
NOTIFY_ON_STOP |
also alert on turn-end — on/off |
off |
SERVER |
ntfy server base URL (change only if you self-host) | https://ntfy.sh |
The file holds your token, so setup makes it readable by you only (chmod 600). A config made by an earlier version can be fixed
the same way: chmod 600 ~/.notify-me/config.
A starting template is in config.example. Change anything later by saying
“change the notify-me sound / token, turn the chime off”, etc.
SERVER at it.@system, which follows the separate OS “alert volume” (easy to leave at zero).Notification event fires reliably when the agent needs a tool permission, and otherwise on an idle timeout (~60s). A question typed in chat without a permission request waits for that idle timer rather than firing instantly.afplay / @system beep), Linux (paplay/aplay), Windows (console beep). Auto-detected.@system.curl.bash scripts/uninstall.sh (deletes ~/.notify-me).MIT — see LICENSE.