Quick answer
Claude Code hooks send each agent's state change to Agentfy, which drives an iOS Live Activity. Your lock screen and Dynamic Island show a color-coded ring, per-project state counts, and the most urgent terminal line — so one glance tells you which agent is cooking, done, or waiting on you.
You're running three Claude Code agents across two projects. One is refactoring your auth module. One is writing tests. One just started on a new feature. You step away to make lunch.
Without looking at a single terminal, you glance at your iPhone lock screen: 2 cooking, 1 needs you. The one that needs you is asking "Allow: npm test?" on your frontend project. You know exactly which agent to deal with when you get back.
That's Live Activities and Dynamic Island working for Claude Code. No push notification banner that disappears after five seconds. No app you have to open. Persistent, glanceable, real-time status — right on your lock screen and in your Dynamic Island.
What are Live Activities?
Live Activities are an iOS feature (iOS 16.1+) that let apps display real-time information on your lock screen and in the Dynamic Island. They were designed for things like food delivery tracking, sports scores, and ride-sharing — persistent status that you want to check at a glance without unlocking your phone or opening an app.
Turns out, "what are my AI coding agents doing right now?" is a perfect fit for this pattern. Instead of a delivery driver inching toward your door, you're watching agents move through their work — and the same glanceable surface that tells you a pizza is five minutes away can tell you an agent is waiting on a permission prompt.
How Agentfy uses Live Activities
When you connect Claude Code to Agentfy, every agent state change updates your Live Activity in real time. The data flows over Claude Code's hooks: each event fires a webhook, the server reconciles the state of all your sessions, and that consolidated picture is pushed to the Live Activity on your phone. Here's what the surfaces show.
The lock screen widget
- A segmented ring — color-coded segments showing the proportion of agents in each state. Red for "needs you," orange for "cooking," green for "new." At a glance, you see the health of all your agents.
- State counts with project names — "1 need you" next to the project name, "2 cooking" with their project names. You know exactly which project needs attention.
- A terminal prompt line — shows the most urgent message. If an agent is asking for permission, you see "Allow: npm test?" right there. If Claude just finished, you see "Task complete."
The Dynamic Island
The Dynamic Island sits at the top of your screen, always visible — even when you're using other apps. Agentfy uses it to show:
- The same segmented ring — miniaturized, showing agent state proportions.
- Status text — "2 Cooking," "Your move," "New Agent," or "2 need you" — color-coded to match the priority.
You're scrolling Twitter, and the Dynamic Island turns red with "Your move." You know it's time to go check your terminal. No notification sound needed.
The four states
Every Claude Code agent tracked by Agentfy is in one of four states. Each state has its own color, so your Live Activity is instantly readable:
- New Agent (Green) — A new Claude Code session just started. Waiting for your first prompt.
- Cooking (Orange) — Claude is actively working — reading files, writing code, running commands. You don't need to do anything.
- Your Move (Red) — Claude stopped and is waiting for you. Needs permission, finished a task, or hit something it can't resolve alone. This is the one you care about.
- Offline (Gray) — Session ended. The agent is no longer running.
The colors map to urgency, not just status. Red always means "your attention is required," so you can train yourself to react only when something turns red — and safely ignore the orange and green churn while agents do their thing.
Consolidated multi-agent view
Most developers running Claude Code don't just have one session going. You might have two or three terminals open across different projects. Agentfy consolidates all of them into a single Live Activity.
The segmented ring shows the proportion — if you have three agents and two are cooking while one needs you, the ring is roughly two-thirds orange and one-third red. The state counts break it down: "1 need you" with the project name, "2 cooking" with their project names.
The Dynamic Island shows the highest-priority state. If any agent needs you, it shows red. If all are cooking, it shows orange. You always see the thing that matters most.
This is what makes the feature shine once you start running multiple Claude Code agents in parallel — a wall of terminals collapses into a single, color-coded summary you can read in half a second.
What shows up in the terminal line
The bottom of the Live Activity widget has a terminal-style prompt showing context about the most urgent agent. This is where you see:
- Permission requests: "Allow: npm test?" or "Allow: rm -rf dist/" — so you know what Claude is asking before you even open your laptop.
- Task completions: "Task complete" — Claude finished what you asked.
- Custom messages: Whatever Claude explicitly notified you about.
- Working status: "All agents working..." when everything is humming along.
Why this matters more than push notifications
Push notifications are good for "something happened." They're bad for "what's happening right now."
A push notification pops up, you see it (or miss it), and it's gone. If you're running three agents and they're all changing state, you get three notifications that stack up and tell you nothing useful at a glance.
Live Activities solve this. Instead of discrete events, you get continuous state. You lift your phone and see the current picture: how many agents, what they're each doing, which one needs you, and what it's asking for. No notification history to scroll through. No app to open. One glance.
That's the difference between "you have 3 new notifications" and "2 cooking, 1 needs you — Allow: npm test?"
Both surfaces are driven by the same hook events, though — so if you want the banner alerts too, see how to get Claude Code notifications on iPhone for the notification side of the setup.
Stop babysitting your terminal
Agentfy pushes Claude Code status to your iPhone — Live Activities, Dynamic Island, and instant alerts.
Dynamic Island while using other apps
The Dynamic Island is visible even when you're in another app. This means you can be browsing, reading, messaging — and the moment an agent needs you, the Dynamic Island changes color and text.
No interruption. No banner. Just a subtle color change at the top of your screen that catches your peripheral vision. It's the least disruptive way to stay aware of your agents.
Requirements
- iPhone 14 Pro or later for Dynamic Island (iPhone 14 and 15 standard models have the notch, not the Dynamic Island).
- iOS 18+ for Live Activities on the lock screen.
- Agentfy Pro for Live Activity support (push notifications are available on the free tier, which includes 25 notifications per month).
How to set it up
Live Activities activate automatically once you connect Claude Code to Agentfy. There's no extra configuration.
- Download Agentfy from the App Store.
- Install the open-source Agentfy plugin (recommended): run
claude plugin marketplace add ibrillantes/claude-code-plugin, thenclaude plugin install agentfy@agentfy --config api_token=<YOUR_TOKEN>, then/reload-plugins. It collects your token in a config dialog and stores it in your OS keychain, not plaintext. (Prefer copy/paste? Grab the setup prompt from the app or manually configure hooks — both still work.) - Start a Claude Code session — the Live Activity appears on your lock screen and Dynamic Island automatically.
The Live Activity stays active as long as you have running sessions. When all agents go offline, it ends. When a new session starts, it comes back — even if the app isn't open, thanks to Push to Start.
Because everything rides on Claude Code's hooks, there's nothing sitting between you and Claude — no CLI wrapper, no SSH proxy, no relay. Agentfy is monitoring-only: it reads agent state and shows it to you, but never runs agents or sends commands back.
Push to Start
Live Activities on iOS can expire after about 8 hours. Agentfy handles this with Push to Start — when a new Claude Code session begins and there's no active Live Activity, the server sends a special push that recreates it remotely. You don't have to open the app. The Live Activity just reappears on your lock screen when your agent starts working.
Live Activities vs other monitoring options
There are other ways to monitor Claude Code from your phone — encrypted relays, SSH terminals, cloud-based IDEs. Agentfy takes a fundamentally different approach.
| Approach | To check status... |
|---|---|
| SSH / terminal app | Open app → connect → read terminal output |
| CLI wrapper relay | Open app → find session → read output |
| Push notifications | Check notification center → piece together history |
| Live Activities | Glance at lock screen or Dynamic Island |
The difference is friction. Live Activities have zero. You don't open anything. You don't connect to anything. You just look at your phone. For a wider comparison of the available tools, see the best apps to monitor Claude Code from your phone.