Tired of babysitting your terminal to see if Claude Code has finished running a task? Terminal bell notifications eliminate the need to constantly monitor progress. With a quick setup, Claude can alert you the moment a task completes or requires input — letting you multitask freely while keeping focus on more important work.
Standard Configuration Setup
Claude Code includes built-in support for terminal bell notifications. To enable it globally, run:
claude config set --global preferredNotifChannel terminal_bell
This takes effect immediately (no restart needed). Once enabled, Claude will trigger a bell sound whenever tasks completed or require your input.
Test Your Terminal Bell
Before relying on this feature, confirm your terminal supports audible bells:
echo -e "\a"
If you hear a sound, you’re good to go. If not, don’t worry — alternative solutions are available for Windows WSL and macOS.
Windows WSL: Reliable Alternatives
Windows Subsystem for Linux often ignores standard bell commands. If echo -e "\a"
produces no sound, you can bridge the gap with PowerShell-based alerts.
PowerShell Notification Commands
Run these commands inside WSL to trigger Windows system sounds:
Default system beep
powershell.exe -c "[System.Media.SystemSounds]::Beep.Play()"
Distinct “Question” sound (recommended)
powershell.exe -c "[System.Media.SystemSounds]::Question.Play()"
The Question sound stands out more clearly than the default beep, making it easier to notice.
Project-Specific Setup with CLAUDE.md
You can instruct Claude to use these commands automatically by adding them to your CLAUDE.md
file:
## Notifications
When tasks are complete, notify me using:
powershell.exe -c "[System.Media.SystemSounds]::Question.Play()"
This ensures Claude consistently plays a sound whenever tasks finish, even if your terminal doesn’t support bells.
macOS: Overcoming Silent Bells
Some macOS terminals (e.g., iTerm2, Warp, Windsurf) fail to produce bell sounds, even when using standard commands like:
printf '\a'
echo -e '\007'
tput bel
If none of these produce a sound, you can fall back to AppleScript notifications:
osascript -e 'display notification "Task Complete" with title "Claude Code" sound name "Glass"'
This displays a system notification and plays the Glass sound — a reliable cross-terminal workaround.
VS Code Integration
If you’re running Claude Code inside VS Code, enable its built-in terminal bell support with these settings:
{
"accessibility.signals.terminalBell": {
"sound": "on"
},
"terminal.integrated.enableVisualBell": true
}
This ensures both audio and visual bell signals fire properly.
Implementation Checklist
To set up notifications effectively:
- Test bell support with:
echo -e "\a"
- If silent, try the WSL PowerShell or macOS AppleScript alternatives.
- Update your CLAUDE.md file with the appropriate notification command for consistent behavior.
Benefits: Why It Matters
Bell notifications transform Claude Code into a hands-off partner:
- Multitasking freedom — work elsewhere without worrying about task completion.
- Immediate awareness — know instantly when Claude finishes or needs your input.
- Better focus — no more wasted attention checking terminal progress bars.
Instead of waiting, you can focus on building while Claude keeps you in the loop.
Troubleshooting
If notifications aren’t working:
- Verify your terminal supports audio output.
- Check system sound settings.
- Test with
echo -e "\a"
before moving to advanced fixes. - On WSL, confirm PowerShell execution policies allow
SystemSounds
. - On macOS, ensure your terminal app has permission to send notifications.
Conclusion
Setting up terminal bell notifications in Claude Code only takes a few minutes, and the payoff is huge. Whether you use Linux, Windows WSL, macOS, or VS Code, there’s a solution that ensures Claude alerts you reliably.
Stop babysitting your terminal — let Claude notify you when it’s time to take action, and keep your focus where it belongs: shipping great code.
Note: I primarily use macOS/Linux. The Windows WSL examples above are based on community-documented solutions using PowerShell. If you’re a Windows user, feel free to share your results or improvements in the comments.