anotifier / compare
[ COMPARE ]

anotifier vs the alternatives.

There are three families of tools for getting alerted when an AI coding agent finishes: a hook you write yourself, an open-source notifier that wires the hooks for you, and a paid service or app. Below is what each project says about itself, checked against its own README or site on 2026-09-10, so you can pick the one that fits. anotifier is the open-source, cross-platform, multi-agent option with phone push and webhooks; two projects go further than it on remote approval.

Facts taken from each project's own README or site on 2026-10-09. Spotted something out of date? Open an issue and we will fix it.

At a glance

ToolAgentsDesktopPhone pushSlack / Discord / TelegramOSApprove from phonePrice
anotifierClaude Code · Codex · Cursor · Gemini CLIWin · macOS · Linux · WSLntfyAll three + genericWindows, macOS, LinuxNo (roadmap)Free
DIY hooksAny agent with hooksWhatever you scriptcurl to ntfyWrite the JSONPer scriptNoFree
code-notifyClaude Code · Codex · Gemini CLI · Oh My PiWin · macOS · LinuxNot listedSlack · DiscordWindows, macOS, LinuxNoFree
agent-notifyClaude Code · Cursor · CodexmacOSntfyNot listedmacOSNoFree
claude-ntfy-hookClaude CodeNot listedntfyNot listedWindows, macOS, LinuxYes (Tailscale)Free
PusharyClaude Code · Claude Desktop · Cursor · Codex · Gemini CLI · WindsurfWeb pushWeb pushNot listedAny (browser)Yes$9.99/mo after trial
AI Done NowClaude Code · Cursor · Codex · Gemini CLImacOSNot listedNot listedmacOSNoOne-time purchase

"Not listed" means the project's README or site does not mention the capability; it may still exist.

Each tool in its own words

anotifier

open source CLI (AGPL-3.0)
  • Agents: Claude Code, Codex CLI, Cursor, Gemini CLI, plus any of them inside VS Code.
  • Channels: desktop toast (Windows via BurntToast, macOS, Linux, WSL routed to Windows), phone push via ntfy, webhooks with Slack, Discord, Telegram, and generic formats, terminal bell.
  • Claude Code toasts and webhooks carry the agent's actual words; every title names the project.
  • Zero npm dependencies, one shared config, per-event priority, snooze and quiet hours, click-to-focus on Windows.
  • CI drives the real agent CLIs and reads delivered notifications back from each OS's notification store.

Fit: Best when you run more than one agent, want phone plus chat delivery, and want it free and cross-platform. No remote approval yet.

Do-it-yourself hooks

no install
  • Every supported agent can run a shell command on completion; add osascript, notify-send, or a curl to ntfy in its hook config.
  • Fixed text per hook unless you script transcript parsing yourself; repeat the work per agent and per OS.
  • No de-duplication, priorities, or snooze unless you build them.

Fit: Best for one agent, one machine, and a fixed message. Our per-agent guides include copy-paste configs.

code-notify

open source CLI (MIT)
  • README lists Claude Code, OpenAI Codex, Google Gemini CLI, and Oh My Pi.
  • Desktop notifications with sound files, voice announcements on macOS and Windows, Slack and Discord webhooks, and usage-quota alerts with reset reminders.
  • Installs via Homebrew, npm, or shell scripts on macOS, Linux, and Windows.
  • Per-project settings; macOS click-through control to choose which app is activated.

Fit: Closest open-source peer. Strong on sound and voice and quota alerts; phone push is not listed, and Cursor is not listed.

agent-notify

open source binary (MIT)
  • README lists Claude Code, Cursor, and OpenAI Codex.
  • macOS Notification Center, system sounds, voice announcements via say, and ntfy push (ntfy.sh or self-hosted).
  • macOS only, Apple Silicon and Intel; installed by a curl script or built from source with Bun.
  • Installer previews a diff and keeps timestamped backups of the configs it edits.

Fit: Good pick for Mac-only users who want voice announcements. No Windows or Linux, no chat webhooks listed.

claude-ntfy-hook

open source script (MIT)
  • Claude Code only, through its native hooks.
  • ntfy push with interactive Allow/Deny buttons for tool calls and plan approval from the phone.
  • Requires Tailscale on both the machine and the phone, the uv runner, and a local server the hook auto-starts.
  • Reads your Claude Code ask/allow/deny rules to filter what it sends; retries with backoff.

Fit: The open-source way to approve Claude tool calls from your phone, if you already run Tailscale. Single agent, phone only.

Pushary

paid SaaS
  • Site lists Claude Code, Claude Desktop, Cursor, Codex, Gemini CLI, and Windsurf; works with any Claude client that supports MCP servers.
  • Two-way: approve permissions and answer yes/no questions from the notification; per-tool permission policies and an audit trail.
  • Web push to iPhone, Android, and desktop; no native app. Setup via npx @pushary/agent-hooks@latest setup.
  • 3-day free trial, then $9.99/month for 5,000 notifications and MCP API access.

Fit: Pick it if answering the agent from your lock screen is worth a subscription and routing through a hosted service.

AI Done Now

paid macOS app
  • Native macOS menu-bar app; supports Claude Code, Cursor, Codex, and Gemini CLI.
  • Sound plus banner, visible even with volume muted; click-to-focus back to the tool; zero configuration, click Start per tool.
  • Watches Claude Code's Stop and Notification events. Only the license key leaves the Mac.
  • One-time purchase with future updates included.

Fit: Nice for Mac users who want a GUI and no config files. macOS only, desktop only.

Where anotifier falls short

Two things other tools do that anotifier does not, so you can decide with open eyes.

  • Remote Allow/Deny. Pushary and claude-ntfy-hook let you approve a tool call from the phone. anotifier tells you instantly and gets you back to the window; the decision stays at the keyboard until a security design for remote approval lands.
  • Voice announcements and quota alerts. code-notify and agent-notify read completions aloud; anotifier does not. code-notify warns about usage limits, and so does anotifier, for Claude Code only, from 1.5.0.

Try anotifier

npx anotifier@latest setup