Guide

Push notifications

Pings only when an agent actually needs you — and the relay can't read a single one of them.

When they fire

  • An agent requests permission to do something
  • An agent asks you a question or presents a plan to approve
  • A session finishes or stops waiting for your input (with a summary of what it did)
  • An agent reports an error, or a new session starts

That's the whole list. Tool calls, streaming output and token counts never notify — those are visible in the app when you want them, not pushed at you. Tapping a notification deep-links straight to the session that needs you.

Encrypted end to end

Notification content is sealed on your Mac with the pairing's session key before it goes anywhere. The relay sends APNs a placeholder alert plus the encrypted payload; a Notification Service Extension on your iPhone decrypts it on-device and rewrites the title and body just before display. Neither the relay nor Apple's push service ever sees what your agent said.

Badges

The app icon badge is the number of sessions waiting on you, summed across every paired Mac. Clears are delivered too: when you handle a session on the Mac, a silent background push updates the badge — so it stays truthful without opening the app.

Connected vs. away

Pushes exist for when the app isn't actively connected. With Gallager open and streaming, state changes show up live over the WebSocket; backgrounded but still connected, a local notification fills the same role without a round-trip through APNs.

Self-hosting?

The hosted relay delivers pushes out of the box. A self-hosted relay needs your own APNs key — see the self-hosting guide. Without one, everything else works; you just won't get pushes while the phone is away.

← All docs