Notifications

A box is a directory of your data, kept under version control with a full history of changes (using git); a card is a markdown file with a structured header; the agent is the coding agent (Claude Code or Codex) that operates the box. Notifications are how the box tells you something when you do not have it open, and how it stays quiet when you do.

What it does for you

By default a question the agent asks you is a badge, not a push, unless it is time-bound; a question that sits unanswered for a week gets one quiet push before it expires. A capture from your phone that fails for good tells you, if nobody is at the box.

What it needs

For the iPhone app and web push, keys held once for the whole server, set up by whoever runs the machine. See ../install/index.md and ../concepts/connectors.md. The watch's judging model is the same routing model quick chat uses, reached through OpenRouter, so it needs an OpenRouter key granted to the box; without one, a watch that depends on a judgment waits and says so.

How it works, briefly

Everything that tells you something passes through one function in the box server, whether the agent asked through a command or the engine itself wanted to. Channels, loudness, who is present, and the log are plain files in the box's hidden working folder, which git ignores. Reminders and watches are cards under the box's schedules folder, so they are in git and the agent can read them. See schedules.md and questions.md.

Limits

The documentation records that the real-device walk-through (a paired phone receiving loud, quiet, and badge notifications, a reminder arriving on time, a watch firing on a real email) has not yet been run; the tests use stand-in delivery services and a simulator. Push to the iPhone uses an Apple key that belongs to whoever builds and installs the app, so it works for a person running their own build, not for a shared app; a relay for that case is filed as future work. Health problems (a failing sync, an expired sign-in) show on the dashboard and do not notify on their own. The judging model is sent the text of the changed cards it is asked about, through OpenRouter, with a request that the provider not retain it, and it has a daily cap of 500 calls per box.

Go deeper

../reference/bbx-commands.md, ../reference/cards/scheduled-script.md, ../10-your-data-and-safety.md