Get notified when Claude Code actually needs you

Long agent runs mean long silences. The trick is hearing about the two moments that matter — a permission ask and a finished turn — without being pinged for everything in between.

The built-in option: the terminal bell

Claude Code rings the terminal bell when it stops. Most terminals turn that into a subtle dock bounce or badge — easy to miss on a second monitor, invisible if the terminal is hidden, and it can’t distinguish “done” from “waiting on your yes.”

The robust option: the Notification hook

Claude Code fires a Notification hook event exactly when it surfaces something to you — a permission prompt or an explicit input request. Anything can subscribe: a shell script, a sound, or a menu-bar app. Crucially, this event does not fire for auto-approved tool calls, so hooking it means zero noise during long autonomous stretches.

What NapCat does with it

  • A quiet chime and the notch opening by itself when Claude genuinely asks — with Allow and Deny buttons that answer the real prompt.
  • A separate, softer chime when an agent finishes a long stretch of work (detected from activity, no hook required).
  • Nothing at all while a session is merely idle between your own messages — an idle agent is not news.

The hook is opt-in, written to ~/.claude/settings.json with a backup, and removes itself completely when you turn it off.

NapCat does all of this from your Mac’s notch — for five dollars, once.

Download — free 2-day trial