Andon's whole job is to grab your attention at the right moment β when an agent needs you or gets blocked β and otherwise stay quiet. The board is the universal channel (works on any device); these add more, each degrading gracefully across macOS / Linux / Windows.
A banner on the machine running the server, on by default. Loud for the states that need you, quiet for completion:
- needs-you (amber) / stuck (red) β banner + sound (immediate).
- done (green) β one quiet banner (no sound), debounced 4s so a transient green never fires a false "ready".
andon serve # alerts on by default
andon serve --say # also speak needs-you / stuck aloud
andon serve --no-notify # turn alerts offUses osascript/say (macOS), notify-send/spd-say (Linux), PowerShell
toast/System.Speech (Windows). Missing tool β silently skipped. (Auto-off
under --demo so the cycling fake agents don't spam you.) Alerts are
throttled (per-session cooldown + a global token bucket) so a busy β or
malicious β LAN client posting to /event can't drive a process-spawn flood.
A one-glance summary without a separate screen:
curl -s http://127.0.0.1:8787/menubar # plain-text summary endpointWire it to SwiftBar/xbar (macOS) or Waybar/polybar (Linux); see
examples/andon-menubar.5s.sh.
Andon never touches your permission/approval settings β that's yours to own. If amber "needs you" fires more than you'd like, pre-approve safe operations in your agent's own config (Andon will then only light up for the rest):
- Claude Code β add read-only patterns to
permissions.allowin~/.claude/settings.json, e.g."Read","Bash(git status:*)","Bash(npm test:*)". Yourdeny/askrules always take precedence, and the Bash matcher is shell-operator-aware (soBash(git status:*)won't approvegit status && rm -rf). See/permissions. - Codex β set
approval_policy(e.g."untrusted"auto-runs trusted read-only commands) and/orsandbox_modein~/.codex/config.toml.
Keeping this in your hands means Andon can never weaken your safety rules β and the board stays a faithful mirror of when you're genuinely needed.