Free tool · no signup
Claude Code Notification Builder
Pick the events, pick the channels, paste one block into settings.json —
and get pinged on Discord, Slack, Telegram, ntfy.sh, or your desktop the second
Claude Code finishes or needs you. Grind with your agents; let the ping find you.
Pick your events
What should trigger a ping?Pick your channels
Where should the ping land?Everything on this page stays in this tab. URLs and tokens are baked into your scripts locally — this page sends nothing anywhere.
Optional filters
Cut the noisePick at least one event and one channel — your settings.json block and notify scripts appear here instantly and update live as you toggle options.
Your files
Install
Hooks are read at session start — if Claude Code is already running, start a new session and run
/hooks to confirm they registered.
Test without waiting for a real task
Each hook script reads the event JSON from stdin, so you can fire a sample payload at it straight from your terminal:
Questions about Claude Code notifications
How do I get a notification when Claude Code finishes a task?
Add a Stop hook. Claude Code fires the Stop event when it finishes responding, and any command you register runs with the event JSON on stdin. This builder generates the settings.json block and a notify script for your channel — desktop toast, Discord, Slack, Telegram, or ntfy.sh — so you get pinged the moment the task is done.
Can Claude Code send a Discord or Slack message?
Yes. Both take an incoming-webhook URL: create one in Discord under Server Settings → Integrations → Webhooks, or in Slack under api.slack.com/apps → Incoming Webhooks. A Stop or Notification hook script then posts the message with a single curl call. This builder writes that script for you, with a jq-free fallback for machines without jq.
Can Claude Code send a Telegram message?
Yes. Create a bot with @BotFather to get a token, find your chat ID (message @userinfobot, or send your bot a message and read getUpdates), and a hook script can call the Bot API sendMessage endpoint with curl. The builder generates the script with your token and chat ID baked in — locally, in your browser.
Can Claude Code ping my phone?
Three ways. Hooks: point them at ntfy.sh or Telegram and the push lands on your phone — works everywhere, any terminal, any number of sessions. Native: Claude Code ships Remote Control push notifications (v2.1.110+), but they cover claude.ai-connected sessions and one agent at a time. Ambient: Backgrind Live mode streams every agent — Claude Code, Codex, Cursor CLI, OpenCode — to your phone with zero hook plumbing.
What is the difference between the Stop and Notification hooks?
Stop fires when Claude Code finishes its whole response — the task-done signal. Notification fires mid-task when it needs you: a permission prompt or an idle wait for input. If you only want the permission asks, the Notification event accepts a matcher such as permission_prompt, and the builder can set that for you.
Do my webhook URLs and bot tokens leave the browser?
No. The builder is fully client-side — nothing is sent to any server, nothing is stored, and there is no signup. Your URLs and tokens are embedded into the generated scripts locally and only exist in the files you copy or download yourself.
Which settings.json file should the hooks go in?
~/.claude/settings.json applies to every project on your machine — the usual choice for notifications. .claude/settings.json lives inside one repo and gets committed, so the whole team shares the hooks. .claude/settings.local.json is per-repo but gitignored — project-specific and private to you. The builder adjusts paths and install steps for whichever scope you pick.
Can I get notified only when a task ran longer than a minute?
Not natively — the Stop event payload carries no duration field (verified against the official hooks reference). The builder works around it honestly: a UserPromptSubmit hook records a start timestamp per session, and the notify scripts compare it on Stop and stay silent under your threshold. If the timestamp file is missing, they notify anyway rather than fail silently.
Go deeper: every way to get a Claude Code notification when done, Claude Code hooks explained — Stop, Notification, PreToolUse, or why ambient notifications beat watching the terminal scroll. Still picking an agent? Take the 30-second agent quiz and check what it costs with the AI coding agent cost calculator.