Blog · August 22, 2026 · 6 min read
Get Claude Code Notifications on Your Phone
The desktop ding solves the wrong half of the problem. A notification on your Mac is useful when you are sitting at it — but the whole promise of an agent like Claude Code is that you can hand it twenty minutes of work and go be somewhere else: another room, a walk, the coffee run, the school pickup. For that, the alert has to reach your pocket.
We have covered desktop notifications and copy-paste hook scripts in detail already. This guide is entirely about the phone: three reliable ways to get a push notification when Claude Code finishes or needs your input, and how to keep those pushes from becoming noise.
When Phone Push Beats a Desktop Ding
The economics are simple. Claude Code runs are getting longer — a big refactor, a test-fix loop, or a subagent fan-out can work for many minutes without needing you. The expensive failure mode is not the agent working; it is the agent sitting idle behind a permission prompt you did not see because you had already wandered off. A phone push turns that dead time into, at worst, the length of your walk back to the desk.
Option 1: ntfy — Free, Open Source, Five Minutes
ntfy is publish-subscribe over plain HTTP: pick a topic name, subscribe to it in the ntfy app for iOS or Android, and anything that sends an HTTP request to that topic pops up on your phone. No account is required on the public server, and you can self-host it later if you want.
Sending a push is one command: curl -d 'Claude Code is done' ntfy.sh/your-secret-topic. Wire that into a Stop hook so it fires when Claude finishes, and into a Notification hook so it fires when Claude is waiting on a permission prompt — the exact JSON is in our hook recipes post.
One caution: topics on the public ntfy server are protected only by their name, so treat the topic like a password — alex-cc-x7k2q, not claude. Anyone who knows the name can send to it and read it.
Option 2: Pushover — Polished and Predictable
Pushover has been the boring, dependable choice for personal push notifications for over a decade. Create an account, grab your user key, register an application to get a token, and send with a single request: curl -s -F token=YOUR_APP_TOKEN -F user=YOUR_USER_KEY -F message='Claude needs input' https://api.pushover.net/1/messages.json.
What the small one-time app purchase buys you is control: per-notification priority levels, quiet hours that actually work, and an emergency priority that can bypass Do Not Disturb for the rare run you truly must not miss.
Option 3: Telegram — Free and Already Installed
If Telegram is already on your phone, a private bot is a push channel with no new apps at all. Message BotFather to create a bot and get its token, send your new bot a message, read your chat id from the getUpdates endpoint, and from then on every push is: curl -s https://api.telegram.org/botYOUR_TOKEN/sendMessage -d chat_id=YOUR_CHAT_ID -d text='Done'.
The bonus over pure push: it is a chat thread. Your notification history is scrollable, searchable, and synced to every device Telegram runs on.
Keep It From Becoming Noise
Phone pushes are higher-stakes than desktop dings — they interrupt dinner. Three rules keep them welcome.
Split done from needs-you. Use two topics or two priority levels: a finished run is low priority and can wait; a permission prompt blocking the run deserves the buzz.
Do not alert on short runs. A push for a forty-second task is spam. Gate the hook so it only fires when a session has run longer than a few minutes — or only for sessions you flag as long ones.
Respect your own quiet hours. ntfy and Pushover both support scheduling and priority rules; an overnight batch job should report in the morning, not at 3 a.m.
If You Are at the Mac, Skip the Setup Entirely
Away from the desk, the recipes above are the answer. At the desk, you do not need any of them:
Set up one phone channel this week and the pattern sticks: start a long job, stand up, live your life. The terminal can find you now.
Keep reading
Claude Code Tips and Tricks: 12 Ways to Use Claude Code Effectively
8 min read
Claude Code Multiple Sessions: How to Run Agents in Parallel Without Losing Track
6 min read
A Claude Code Workflow That Doesn't Involve Watching the Terminal
5 min read
Claude Code Hooks: A Practical Guide to Automating Your Agent Workflow
7 min read
Claude Code Auto Mode: Fewer Permission Prompts Without Living Dangerously
7 min read
Claude Code Subagents: How to Delegate Work to Specialized Agents
7 min read
Claude Code Context Management: Treat the Context Window Like a Budget
6 min read
Per-Subagent Model Selection: Route the Grunt Work Down, Keep the Judgment Up Top
7 min read
Skills and Plugins: How to Teach Claude Code Your Way of Working
7 min read
Claude Code Background Tasks: Run Long Commands Without Blocking Your Session
6 min read
Codex CLI Notifications: How to Get a Ding When Codex Is Done or Needs Input
7 min read
Cursor Notification When Done: Every Way to Get Notified When Cursor Finishes
6 min read
Claude Code Notifications: How to Get Notified When Claude Code Finishes or Needs Your Input
6 min read
Want to Be Notified When Claude Responds? How Claude Notifications Work on Web, Desktop, and Mobile
5 min read
Claude Code Notification Scripts: Copy-Paste Recipes for Every Platform
6 min read
Get a Ding the Moment Codex Needs Your Response
6 min read
Get Notified the Moment Claude Code Is Waiting for Your Input
6 min read
“Notifications Are Turned Off for Claude” — Here Is the Fix
6 min read
Codex Sound When Done: Make Codex CLI Play a Sound When It Finishes
6 min read
terminal-notifier + Claude Code: Native macOS Alerts When Your Agent Finishes
6 min read
Gemini CLI Notifications: How to Get a Sound or Alert When Gemini Finishes
6 min read