Live Activity
Surface agent events on the iOS lock screen and Dynamic Island while a session is running.
When moshi-hook is paired and active on the host, agent events can update the iOS Live Activity and Dynamic Island so the latest status sits right on your lock screen — no app switch, no inbox dig.
What you see
A running Live Activity shows:
- The active session's title and the agent it belongs to.
- The most recent event for that session — task complete, tool running, approval needed.
- A tap target that takes you straight into the right place in Moshi.
The Dynamic Island variant keeps the same surface compact for the front of the phone.
Enable
Open Settings -> Hooks in Moshi and toggle:
- Live Activity — turns the lock-screen / Dynamic Island surface on.
- Open Inbox on tap — controls whether tapping the Live Activity opens the relevant inbox row or just brings the app forward.
Live Activities also require push notifications to be enabled in iOS Settings; the same screen surfaces a warning if iOS-level permission is missing.
What triggers an update
Live Activities track one session at a time. They start when a session reports its first agent event (typically session_started or the first tool_running), then update in place as later events come in. The activity dismisses itself when:
- The session reports
task_completeand a short grace period elapses. - iOS reclaims the budget (the system caps the number of live activities and how long each can run).
- You explicitly stop it from the lock screen.
Approval and error events can also trigger a visible push notification on top of the Live Activity, so they aren't lost if the screen is off.
Demo
The Hooks settings screen includes a Test Live Activity button. Tapping it seeds a short-lived demo activity (and a small set of demo inbox rows) so you can see how the lock-screen surface looks without waiting for a real agent event. Clear the demo data from the same screen when you're done.
Troubleshooting
- Live Activity never appears. Check that push notifications are enabled (Moshi shows a warning row when they aren't) and that
moshi-hook serveis running on the host. See Hooks for setup. - Live Activity sticks after the session is done. iOS schedules dismissal — give it a minute, or swipe the activity away from the lock screen.
- Tapping does nothing. Make sure "Open Inbox on tap" is enabled if you expect a deep-link, and that the underlying inbox row hasn't already been cleared.