Guides

How to get notified when Claude Code needs you

Updated

Short answer: Turn on Local notifications in Claude Code’s /config (the preferredNotifChannel setting) so it alerts you when it finishes or waits for permission. For a Mac notification from any terminal, add a Notification hook that runs osascript, and for your phone, turn on push notifications with Remote Control. To answer without switching windows, Lowtide shows Claude Code’s approvals and questions in your Mac’s menu bar, with Allow and Don’t allow.

Claude Code works in long stretches, then stops: to ask before it runs a command or edits a file, to ask you a question, or because it’s done. If you’re in another window when that happens, it waits, and it can sit there until you happen to look. A notification fixes the waiting; answering from where you are fixes the switching.

1. Turn on Claude Code’s own notifications

When Claude Code finishes a task or pauses for a permission prompt while you seem to be away from the terminal, it sends a notification. Where it goes is the Local notifications setting in /config (preferredNotifChannel in settings.json). On the default, auto, iTerm2, Ghostty and Kitty show a desktop notification, and most other terminals show nothing, so pick terminal_bell there. Claude’s desktop app notifies you on its own when a session finishes and you’re not looking at it.

2. Add a hook for a Mac notification

Hooks are commands Claude Code runs at set moments. The Notification hook runs whenever Claude Code sends a notification: when a permission prompt has waited about six seconds without you typing, and about a minute after it finishes responding if you haven’t typed since. Anthropic’s hooks guide gives a macOS version that shows a banner with osascript. Add it to ~/.claude/settings.json:

From Anthropic’s hooks guide
{
  "hooks": {
    "Notification": [
      {
        "matcher": "",
        "hooks": [
          {
            "type": "command",
            "command": "osascript -e 'display notification \"Claude Code needs your attention\" with title \"Claude Code\"'"
          }
        ]
      }
    ]
  }
}

If no banner appears, allow Script Editor in System Settings → Notifications. To hear the moment it finishes, without the minute’s wait, put a command on the Stop hook instead, which runs as soon as Claude finishes responding.

3. Get it on your phone

With Remote Control and the Claude mobile app, Claude Code can push to your phone. In /config, turn on “Push when actions required” for permission prompts and questions, and “Push when Claude decides” for things like a long task finishing. Pushes are skipped while you’re working in the terminal it’s connected to.

4. Answer it where you are

A notification still sends you back to the terminal to type yes. Claude Code’s PermissionRequest hook lets another app answer a permission prompt with allow or deny, which is how an approval can be answered from a menu bar or a notification instead. In Claude’s desktop app and VS Code, the hook runs beside the app’s own prompt, and whichever answers first counts.

Questions people ask

Why don’t I get a notification from Claude Code?

On the default setting, only iTerm2, Ghostty and Kitty show one; in other terminals, choose terminal_bell in /config or add a Notification hook. Notifications also only come when you seem to be away from the terminal, and macOS has to allow notifications from the app that shows them.

Can I approve Claude Code permission prompts without going back to the terminal?

Yes. The PermissionRequest hook lets an app show the request and send back allow or deny. Lowtide does this from your Mac’s menu bar and from its notification.

Does this work for OpenAI’s Codex?

Codex has hooks of its own, including one for permission requests, and Lowtide answers Codex’s approvals the same way it answers Claude Code’s.

Sources

What this guide says about other products and research comes from these sources, checked on the date above.