Agent Notifier

Push notifications for the agentic era

Know the moment your coding agent needs you.

Built for solo devs and small teams running Copilot CLI, Claude Code, Codex, Gemini, or Cursor.

Works withGitHub Copilot CLIClaude CodeCodex CLIGemini CLICursorAny shell agent

Your agent runs for twenty minutes and you have no idea if it shipped, stalled, or is waiting on a question. Agent Notifier pushes every milestone, blocker, and approval to your iPhone — with screenshots, files, lock-screen actions, and updates you can even listen to. Wire it up in 30 seconds.

30-second install

bash
curl -fsSL https://notifier.aicrew.in/notify.py -o ~/bin/notify.py && chmod +x ~/bin/notify.py

Then create a key and send your first test notification. No uv, no jq, no hooks required.

iPhone only · free to start with 100 notifications, no card required.

Coming from Pushover or ntfy.sh? We're a drop-in upgrade — see the comparison →

Agent Notifier inbox on iPhone showing an approval request waiting on the user

The second you hit enter, your agent vanishes into the terminal.

It might be shipping. It might be stuck on a question. It might have finished ten minutes ago. You don't know — so you babysit the tab, alt-tabbing back every few minutes just in case.

Agent Notifier turns that black box into a live feed on your phone.

Three steps. Thirty seconds.

1

Wire it once

Drop one line into CLAUDE.md / AGENTS.md, or curl the API. No SDK, no daemon, no config.

2

Get pinged

Every milestone, prompt, blocker, and finish lands on your iPhone — with screenshots, files, and action buttons.

3

Act on it

Approve, deny, or open the run straight from the lock screen — or listen to the update as audio when your hands are busy.

Built for coding agents

One block in CLAUDE.md / AGENTS.md and your agent ships every milestone, prompt, or blocker straight to your iPhone.

Hear it, hands-free

Set as_audio and the update arrives as speech. Catch the summary while you're driving, walking, or away from the screen — no need to read a thing.

Per-project channels

Each repo gets its own colour, icon, and API key. Filter, mute, or thread by project without losing the rest.

Every media type

Text, progress bars, images, audio, video, PDFs, files, deep links, action buttons. Whatever the agent produces lands on your phone.

Action buttons on the lock screen

Tap Approve / Deny / View without unlocking. Your answer is recorded against the run so nothing silently stalls.

Walk away from the IDE

Long migrations, builds, and CI runs notify you when they finish or get stuck — wherever you are.

See it in a real run.

An agent ships milestones to the phone while the run is still going — progress, files, and the approval it needs before it can continue.

One HTTP call. Every notification type.

Send a notification with one HTTP call. Priority, colour, attachments, action buttons. Per-project keys keep your work accounts, side projects, and CI runners from stepping on each other.

POST /api/v1/messages
AGENT_NOTIFIER_API_KEY="<YOUR_ACCOUNT_API_KEY>"
AGENT_NOTIFIER_API_BASE="/api/v1"
AGENT_NOTIFIER_PROJECT="Deploy agent"
CLIENT_EVENT_ID="$(uuidgen | tr '[:upper:]' '[:lower:]')"

curl -sS -X POST "$AGENT_NOTIFIER_API_BASE/messages" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $AGENT_NOTIFIER_API_KEY" \
  --data @- <<JSON
{
  "project": "$AGENT_NOTIFIER_PROJECT",
  "client_event_id": "$CLIENT_EVENT_ID",
  "type": "alert",
  "title": "Deploy ready",
  "message": "Staging passed. Push to production?",
  "color": "orange",
  "priority": 1,
  "buttons": ["Deploy", "Abort"],
  "metadata": {
    "hook_source": "github.copilot",
    "hook_event_type": "tool_success",
    "hook_tool": "Bash"
  }
}
JSON

Listen, don't read

Your agent, out loud.

Add as_audioto any notification and Agent Notifier speaks it. The update arrives as a real audio attachment you can play from the lock screen — so a long run summary reaches you while you're driving, walking the dog, or making coffee.

  • Hands-free

    Play it from the lock screen. No unlocking, no scrolling.

  • Pick a voice

    Choose the voice and set playback speed from 0.5× to 2×.

  • Read a file

    Point it at a Markdown summary and hear the whole thing.

Works on any notification. Read the audio docs →
send as audio
# Speak the summary instead of writing a wall of text
notify.py "Migration finished. 42 tables moved, 0 errors." \
  --title "db-migrate" --as-audio

# Or read a whole Markdown report aloud
notify.py "Nightly report ready" --as-audio \
  --file-path ./report.md --speed 1.15

Agent Notifier is on the App Store.

Install it on your iPhone, sign in with Apple, and paste one API key into your agent. Your first 100 notifications are free — no card, no trial timer.

iPhone only, iOS 17 or later. Android isn't supported yet.

What you get on day one

  • Per-project channels with their own keys and colours
  • Lock-screen action buttons for approvals
  • Audio updates you can listen to hands-free
  • Images, files, PDFs, and deep links inline

Approvals that block a run, spoken summaries, lock-screen actions, per-project channels, and rich attachments — all in one inbox.

Agent Notifier inbox on iPhone with an approval waiting on the user
Approvals that block a run surface first
Notification detail showing an audio attachment with an inline player
Spoken run summaries you can play
Lock screen notification with Publish, Regenerate, Review, and Abort actions
Act from the lock screen
Agent Notifier projects list on iPhone with per-project colours and live status
A channel per repo
Notification detail with an attached file preview and action buttons
Files, images, and links inline