Feature Request: System sound notifications when Claude finishes execution or asks questions

Resolved 💬 3 comments Opened Oct 31, 2025 by vbonnet Closed Nov 3, 2025

Feature Request: System Sound/Bell Notifications

Summary

Add optional system sound notifications to alert users when Claude Code:

  1. Finishes all execution and is idle/waiting for input
  2. Asks the user a question via AskUserQuestion tool

Use Case

When working on long-running tasks or switching between windows, users need an audio cue to know when Claude Code needs their attention. This is especially helpful when:

  • Claude is running tests, builds, or other long operations
  • The user has switched to another window/application
  • Multiple terminal sessions are running
  • Users rely on audio cues for accessibility

Proposed Solution

Option 1: Built-in notification sound

  • Add a setting in ~/.claude/settings.json:

``json
{
"notifications": {
"sound": true,
"onIdle": true,
"onQuestion": true
}
}
``

Option 2: Terminal bell (simpler)

  • Emit a terminal bell character (\a) when:
  • All tool execution completes and Claude is waiting for user input
  • AskUserQuestion tool is invoked
  • This would work with existing terminal notification systems

Option 3: OS-level notifications

  • Integrate with system notification APIs (libnotify on Linux, Notification Center on macOS)
  • Show desktop notification with optional sound

Alternatives Considered

Workaround (current):
Users can manually add terminal bell to PROMPT_COMMAND, but this doesn't differentiate between Claude Code events and other shell activity.

Similar Features

  • Most IDEs support notification sounds for build completion (VS Code, IntelliJ)
  • Terminal applications often support bell notifications
  • CI/CD tools notify on pipeline completion

Priority

Medium - Quality of life improvement that significantly enhances UX for multi-tasking workflows

Additional Context

  • This would be particularly valuable for users working with Engram or other long-running automation
  • Could tie into existing hook system (SessionStart, PostToolUse) for extensibility

View original on GitHub ↗

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