[FEATURE] Built-in webhook/push notification support for permission requests

Resolved 💬 3 comments Opened Mar 1, 2026 by mingrath Closed Apr 30, 2026

Preflight Checklist

  • [x] I have searched existing requests and this feature hasn't been requested yet
  • [x] This is a single feature request (not multiple features)

Problem Statement

When running Claude Code in autonomous mode (YOLO), tasks can take 5-15 minutes. When Claude finally needs user input (permission request, clarification), there's no way to know unless you're watching the terminal. I end up coming back to find Claude has been waiting for 10+ minutes.

I built claude-code-notify using hooks + terminal-notifier + ntfy.sh to push notifications to Mac, iPhone, and Apple Watch. It works, but it's fragile — relies on parsing hook events, external services, and manual setup.

A built-in notification system would be more reliable and accessible to all users.

Proposed Solution

Add a notifications config in settings.json that supports:

  1. Webhook URL — POST to any endpoint (ntfy.sh, Pushover, Slack, Discord, custom)
  2. macOS native — use osascript or terminal-notifier built-in
  3. Sound alert — play a system sound when permission is needed
{
  "notifications": {
    "onPermissionRequest": {
      "webhook": "https://ntfy.sh/my-claude-topic",
      "sound": true,
      "macosNotification": true
    }
  }
}

Feature Area

Configuration and settings

Use Case Example

  1. I start Claude Code on a large refactoring task in autonomous mode
  2. I switch to another app or walk away from my desk
  3. After 8 minutes, Claude needs approval to delete a file
  4. My iPhone/Apple Watch buzzes with "Claude Code needs your input"
  5. I come back and approve immediately — no wasted idle time

This is especially valuable for Max subscribers who have rate limits — every minute Claude sits idle waiting for input is wasted quota.

Additional Context

I built and open-sourced a workaround: claude-code-notify — it uses hooks + ntfy.sh + terminal-notifier to achieve this. 200+ lines of shell scripting to solve what could be a 5-line config. The community clearly needs this — autonomous mode is only useful if you know when to come back.

View original on GitHub ↗

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