Notification when Claude Code is waiting for user input

Resolved 💬 5 comments Opened Mar 21, 2026 by sohil404 Closed May 26, 2026

Problem

When running multiple Claude Code sessions simultaneously (e.g., across different projects or tasks), there's no way to know which session is blocked waiting for user input — permission approvals, questions, etc. You have to manually check each tab/window.

Proposed Solution

A built-in notification mechanism when Claude Code is waiting for user input. This could be:

  1. macOS/Linux system notification — native OS notification when a session needs attention
  2. Audio alert — a sound or say command (especially useful for headless setups like Mac mini accessed via SSH)
  3. Hook support — a dedicated onWaitingForInput hook event so users can customize the behavior (e.g., trigger say, osascript, Slack webhook, etc.)

Current Workaround

You can partially achieve this with a preToolUse hook:

{
  "hooks": {
    "preToolUse": [
      {
        "matcher": "*",
        "hooks": [
          {
            "type": "command",
            "command": "say 'Claude needs your attention'"
          }
        ]
      }
    ]
  }
}

But this fires on every tool use, not specifically when approval is needed. A dedicated event for "waiting on user" would be much more precise.

Use Cases

  • Running 3-4 Claude Code sessions across different projects
  • Headless Mac mini setup accessed via phone/SSH — need ambient audio feedback
  • Long-running autonomous tasks where Claude occasionally needs a permission grant
  • Pair programming flow where you're focused elsewhere and need to know when Claude has a question

Why This Matters

Claude Code is moving toward more autonomous, multi-session workflows. The bottleneck increasingly isn't Claude's speed — it's the human noticing that Claude is waiting. A simple notification closes that gap.

View original on GitHub ↗

This issue has 5 comments on GitHub. Read the full discussion on GitHub ↗