Feature Request: System sound notifications when Claude finishes execution or asks questions
Feature Request: System Sound/Bell Notifications
Summary
Add optional system sound notifications to alert users when Claude Code:
- Finishes all execution and is idle/waiting for input
- 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
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗