Guideclaude code notificationsclaude code iphoneclaude code push notifications

How to Get Claude Code Notifications on Your iPhone

Stop babysitting your terminal. Set up push notifications for Claude Code on your iPhone in under a minute with Live Activities, Dynamic Island, and instant alerts.

Ian Brillantes · Founder & iOS EngineerFebruary 20, 20268 min read

Quick answer

Install Agentfy from the App Store, sign in, and grab your token. The recommended way to connect is the open-source Agentfy plugin — install it in Claude Code, paste your token into its config dialog, and it wires up the hooks for you. (The copy/paste setup prompt still works on older Claude Code.) From then on your iPhone gets a push the moment Claude needs permission, finishes, or errors out — no terminal-watching required.

You start a Claude Code session. You ask it to refactor your auth module. It's going to take a few minutes, so you grab a coffee. When you get back, Claude's been sitting on a permission prompt for eight minutes — eight minutes of dead time because you weren't staring at your terminal.

That's the core friction of working with coding agents. You want Claude doing the heavy lifting, but you have to be available the moment it needs you. Step away and you risk wasting time; stay glued to the terminal and you've lost the whole point of delegating. (If the idea of letting an agent drive is new to you, here's what vibe coding actually means.)

Here's how to fix it: push notifications for Claude Code, straight to your iPhone.

What you need

  • An iPhone running iOS 18 or later
  • Claude Code installed on your Mac or dev machine
  • Agentfy from the App Store (free)

That's the whole shopping list. There's no menu-bar app to install on your Mac, no proxy, and no account to wire into Claude beyond installing the plugin (or pasting a single prompt on older Claude Code). The connection runs over Claude Code's built-in hooks, which we'll get to in a second.

Step 1: Download Agentfy

Grab Agentfy from the App Store. Open it and sign in — it takes a few seconds. Once you're in, you'll see a unique webhook URL in your settings. That URL is what connects Claude Code to your phone: your terminal posts session events to it, and Agentfy turns them into notifications.

Keep that URL private. Anyone with it could push notifications to your device, so treat it like a token — which is exactly what it is. If it ever leaks, you can regenerate it from the app's settings (more on that in troubleshooting).

Step 2: Connect Claude Code

Agentfy runs off Claude Code hooks — a built-in feature that lets Claude Code fire an event whenever something happens in a session, like finishing a task or pausing for permission. Hooks are just shell commands Claude runs at defined lifecycle points, so connecting Agentfy means pointing a few of those hooks at your webhook URL. You have a few ways to do it, easiest first.

The Agentfy plugin is the fastest, most reliable path — it's open source, and it registers the hooks for you. From your terminal:

claude plugin marketplace add ibrillantes/claude-code-plugin
claude plugin install agentfy@agentfy --config api_token=<YOUR_TOKEN>

Then run /reload-plugins inside Claude Code. (You can also do the whole thing inside Claude Code with /plugin marketplace add ibrillantes/claude-code-plugin followed by /plugin install agentfy@agentfy.) The plugin collects your token — via the config dialog when you install from inside Claude Code, or the --config flag above — and stores it in your OS keychain, never in a plaintext file. Because it's open source, you can read exactly what it sends before you install.

Option B: Paste a prompt

On an older Claude Code without plugin support, the app also gives you a ready-made prompt. Copy it, paste it into any Claude Code session, and Claude will configure your ~/.claude/settings.json automatically. One prompt, done — the whole thing takes under a minute, and Claude even tells you when the hooks are wired up.

Option C: Edit settings.json manually

If you prefer hands-on setup, add the webhook to your hooks config directly:

// ~/.claude/settings.json
{
  "hooks": {
    "Stop": [{
      "matcher": "",
      "hooks": [{
        "type": "command",
        "command": "curl -s -X POST YOUR_AGENTFY_URL..."
      }]
    }]
  }
}

Replace YOUR_AGENTFY_URL with the webhook URL from your Agentfy app settings. The app shows the full configuration — including hooks for Stop, SessionStart, Notification, and PermissionRequest. Each event maps to something you'll see on your phone: Stop means a task finished, Notification and PermissionRequest mean Claude is waiting on you, and SessionStart lets the app track a new agent the moment it spins up.

Info

Hooks live in ~/.claude/settings.json (global) or a project's .claude/settings.json (per-repo). The global file applies to every session on your machine, so configuring it once covers all your projects. Want the full breakdown of which events fire when? See the complete guide to Claude Code hooks.

Step 3: That's it

Your Claude Code agents now report to your phone. Here's what you'll see:

  • Push notifications — the moment Claude needs permission, finishes a task, or hits an error
  • Live Activities on your lock screen — see all your agent statuses without unlocking your phone
  • Dynamic Island — at-a-glance status for the agent that needs you most

No more alt-tabbing to a terminal just to check whether Claude is still cooking. You'll find out from your pocket.

What notifications do you get?

Agentfy sends you a push whenever an agent enters the "Your Move" state — meaning Claude stopped and is waiting on you. That includes:

  • Permission requests — "Allow: npm test?", "Allow: rm -rf dist/"
  • Task completions — Claude finished what you asked
  • Errors — something went wrong and Claude needs guidance
  • Custom notifications — when Claude explicitly notifies you about something

You don't get spammed with every tool call or file read. Only the moments that actually need your attention. That signal-to-noise ratio is the whole point: a notification from Agentfy always means "go look," never "FYI."

Stop babysitting your terminal

Agentfy pushes Claude Code status to your iPhone — Live Activities, Dynamic Island, and instant alerts.

Download Agentfy

Tracking multiple agents

Running Claude Code in three terminals across two projects? Agentfy tracks them all. The dashboard shows which agents are cooking, which need you, and which are new — across unlimited terminals. Live Activities on your lock screen give you the consolidated view: "2 cooking · 1 needs you."

This is where running notifications to your phone really pays off. One agent is easy to babysit; four is not. If you regularly fan work out across sessions, the parallel agents guide covers how to keep them isolated so they don't clobber each other — and how a single monitor keeps the whole fleet glanceable.

Live Activities and the Dynamic Island

Push notifications are great for the moment something happens, but they disappear once you swipe them away. Live Activities are the persistent version: a live status pill on your lock screen and, on iPhone 14 Pro and later, in the Dynamic Island. Instead of unlocking to check, you glance down and see the rollup of every session in real time.

Live Activities are a Pro feature, and they're the thing most people upgrade for once they're running agents regularly. The full breakdown of how the lock-screen and Dynamic Island views behave is in Claude Code Live Activities and Dynamic Island.

Privacy and what gets sent

Agentfy receives session state data from Claude Code hooks. That means:

  • Session ID and project name
  • Current state (working, needs input, done)
  • Tool name and permission context (e.g., "Bash: npm test")

It does not receive your actual code, full prompts, or file contents. There's an optional "Prompt Preview" feature that shows the first 30 characters of your prompt — it's off by default, and you can toggle it anytime. Because the connection is just an outbound HTTPS request from your machine to a webhook, nothing inbound ever touches your terminal.

Troubleshooting

If notifications aren't coming through:

  • If you installed the plugin, run /reload-plugins and confirm it's active with claude plugin list — plugin hooks live inside the plugin, so they won't show up in your settings.json
  • If you set hooks up by hand, run cat ~/.claude/settings.json and check for the Agentfy webhook URL
  • Restart Claude Code if you just edited settings.json (use /resume to continue your conversation); if you use the plugin, run /reload-plugins instead
  • Check that notifications are enabled for Agentfy in your iPhone Settings
  • If all else fails, go to Settings > Having Issues in the app and tap "Regenerate Token", then reinstall the plugin with the new token (or re-run the setup prompt if you configured hooks that way)
Heads up

The single most common reason notifications go silent is a hook that got added to one project but not the global config — so one terminal pings you and another doesn't. If something's not firing, walk through Claude Code notifications not working for the full diagnostic checklist.

Free vs Pro

Agentfy is free to download and use. Free users get 25 push notifications per month. If you're running agents heavily and need unlimited notifications plus Live Activity support, Pro is available as a monthly, yearly, or one-time lifetime purchase — no subscription lock-in if you'd rather pay once.

To be clear about scope: Agentfy is monitoring-only. It reads the hook events your terminals emit and surfaces them on your phone. It never runs agents, sends keystrokes, or approves prompts for you — you stay in control of every session, and Agentfy just makes sure the right one gets your attention at the right moment.

About the author

Ian Brillantes · Founder & iOS Engineer

Ian is the founder of Agentfy and a senior software engineer who lives in Claude Code daily. He builds the hooks-to-push-notification pipeline behind Agentfy and writes these guides from the same multi-agent workflow they describe.

Part of Claude Code on Your iPhone

More guides in this series

Frequently asked questions

How do I get push notifications when Claude Code needs permission?+
Wire a Claude Code hook to a monitor that pushes to your phone. Agentfy listens for the Notification and PermissionRequest hook events, so the instant Claude pauses to ask 'Allow: npm test?' you get a push on your iPhone naming the session and the command. You approve back in the terminal — the notification just tells you it's time.
Do I need to install anything on my Mac to get Claude Code notifications?+
No separate daemon or CLI wrapper. Claude Code's hooks are built in, so connecting is just a matter of adding a few hook commands that point at your Agentfy webhook. The recommended way is the open-source Agentfy plugin, which installs those hooks for you and stores your token in your OS keychain; on older Claude Code you can paste the app's setup prompt or edit ~/.claude/settings.json by hand instead. A plugin isn't a wrapper — it just registers hooks. Either way, nothing sits between you and Claude — your terminal just fires an HTTP request when its state changes.
Will I get spammed with a notification for every file Claude touches?+
No. Agentfy only pushes when a session enters the 'Your Move' state — Claude stopped and is waiting on you. That means permission requests, task completions, errors, and explicit notifications. Routine tool calls, file reads, and intermediate steps never trigger a push, so the alerts you do get always mean something needs your attention.
Does getting Claude Code notifications on my phone cost anything?+
Agentfy is free to download and the free tier includes 25 push notifications per month, which is plenty for occasional use. Pro removes the cap with unlimited notifications and adds Live Activities and Dynamic Island support. Pro is available as a monthly, yearly, or one-time lifetime purchase, so heavy users aren't stuck with a subscription.
What iPhone do I need for Claude Code Live Activities?+
Any iPhone on iOS 18 or later can receive Agentfy push notifications. Live Activities on the lock screen work on iOS 18+ as well, and the Dynamic Island rollup appears on iPhone 14 Pro and later, which have the hardware. Older iPhones still get full push notifications; they just won't show the persistent lock-screen Live Activity.

Related articles

Ready to stop babysitting your terminal?

Agentfy pushes Claude Code status to your iPhone — Live Activities, Dynamic Island, and instant alerts. Set up in under a minute.

Download Agentfy