Claude Code notifications on your iPhone
Walk away from a long Claude Code task. AgentAlarm sends a notification to your iPhone when the task is done or Claude waits for your decision, and rings like an alarm only for what you mark urgent.
Free · iPhone with iOS 26 or later · Updated November 2, 2026

How it works
- Claude Code runs hooks on its own events:
Stopwhen a turn finishes andNotificationwhen it asks for permission or input. The alert does not depend on the model remembering to send it. - The AgentAlarm hook turns those events into a quiet notification on your iPhone: “Claude Code: task finished in my-app” or “Claude Code needs your decision in my-app”.
- No spam: it alerts only while you are away from the computer (after 2 idle minutes), says “task finished” only for turns of at least 3 minutes, and sends at most one alert per session every 5 minutes.
- Alerts carry the project folder name and the task length. Never your prompt, code or Claude’s output.
Set it up with the plugin
- Install AgentAlarm on your iPhone and sign in with Apple.
- In Claude Code, add the plugin:
/plugin marketplace add achubnet/agentalarm-plugins /plugin install agentalarm@agentalarm - Run
/agentalarm:setup. Claude walks you through connecting the MCP tools (type/mcp, choose agentalarm, Authenticate, approve on your iPhone) and a key for the hooks. - Finish with a test: your iPhone gets a notification.
Or add the hooks yourself
Prefer plain hooks without a plugin? Sign the CLI in once (Node 18 or later). In the app, open Settings → Connected Agents → Connect, copy the text, then run:
npx agentalarm login "<the text copied from the app>"
Then add this to ~/.claude/settings.json:
{
"hooks": {
"UserPromptSubmit": [{ "hooks": [{ "type": "command", "command": "npx -y agentalarm hook claude-code", "async": true }] }],
"Stop": [{ "hooks": [{ "type": "command", "command": "npx -y agentalarm hook claude-code", "async": true }] }],
"Notification": [{ "matcher": "permission_prompt|elicitation_dialog|elicitation_url_dialog|agent_needs_input",
"hooks": [{ "type": "command", "command": "npx -y agentalarm hook claude-code", "async": true }] }]
}
}
The hooks run in the background, so Claude never waits for them. UserPromptSubmit only notes when a turn starts, so the hook can tell how long it ran. A global install (npm i -g agentalarm, then agentalarm hook claude-code) starts faster than npx.
Ring me when it’s done
With the MCP tools connected, just ask in the chat:
- “Ring me when the tests pass.”
- “Ring my iPhone if the migration fails.”
- “Remind me at 6 pm to review this PR.”
An urgent alert rings your iPhone like an alarm clock, through Silent mode and Focus, until you tap Done or Snooze. To make every “needs your decision” alert ring, run npx agentalarm config set ringOnDecision true.
On your Apple Watch
AgentAlarm notifications show up on your Apple Watch like other iPhone notifications do while your iPhone is locked, so a finished task taps your wrist. Check Watch app → Notifications → AgentAlarm if they don’t.
Tune or pause it
npx agentalarm setup # when the hooks alert you
npx agentalarm config set minTaskMinutes 10
npx agentalarm pause 1h # then: npx agentalarm resume
npx agentalarm test # rings your iPhone once
Quiet hours turn rings from hooks into plain notifications, for example npx agentalarm config set quietHours 23:00-08:00.
Questions
Does it send my code or prompts anywhere?
No. A hook alert is a short title with the project folder name and the task length. Read the Privacy Policy.
Will my phone buzz while I am at my desk?
Not on a Mac: the hooks wait for 2 minutes without keyboard or mouse input. On Linux this needs xprintidle; on Windows and over SSH the hook can’t tell, so it alerts. Turn the check off or on in npx agentalarm setup.
Does it work on macOS, Linux and Windows?
Yes. The hooks run the agentalarm CLI, which needs Node 18 or later. The alerts arrive on your iPhone.
Does Claude Code have phone notifications built in?
The Claude app can get a push from Claude Code while a Remote Control session is active. AgentAlarm works in every session, also for Codex and Cursor, and can ring like an alarm. See the comparison.
Is there an Android version?
Not yet. AgentAlarm is for iPhone with iOS 26 or later.
How do I stop it?
Pause it with npx agentalarm pause 1h (up to 30 days). To stop for good, uninstall the plugin or disconnect it in the app under Settings → Connected Agents: its key stops working right away.
