Summary
Ring the terminal bell (\a / BEL) when Claude Code pauses and is waiting for the user to approve a tool use. This is distinct from a completion bell — it's a "I need you right now" signal, not a "I'm done" notification.
Motivation
When Claude Code is running in a buried terminal or tmux pane, there's no way to know it's blocked on an approval prompt without switching to it and looking. The session silently waits, the user is doing something else, and minutes pass.
A terminal bell on the approval prompt solves this without any external tooling — it works in tmux, screen, iTerm2, Wezterm, Ghostty, and every terminal that supports the standard BEL character. Most terminals can translate BEL into a visual bell, a dock badge, or a desktop notification depending on user preference. The user controls what "bell" means to them.
Proposed behavior
When the approval prompt is displayed (the "Allow / Deny" dialog for tool use), emit a single \a (BEL, \x07) to stderr before or alongside the prompt text.
Optionally, make this configurable:
// ~/.claude/settings.json
{
"bellOnApproval": true // default: true
}
Why not just use the existing Notification hook?
The Notification hook fires for general notifications, not specifically for approval prompts. Wiring a bell through a hook requires the user to write and maintain a shell script for something that could be a one-liner in the core UI.
Related
Drafted with AI assistance. AI-G — fully AI-generated, human-reviewed.
Summary
Ring the terminal bell (
\a/BEL) when Claude Code pauses and is waiting for the user to approve a tool use. This is distinct from a completion bell — it's a "I need you right now" signal, not a "I'm done" notification.Motivation
When Claude Code is running in a buried terminal or tmux pane, there's no way to know it's blocked on an approval prompt without switching to it and looking. The session silently waits, the user is doing something else, and minutes pass.
A terminal bell on the approval prompt solves this without any external tooling — it works in tmux, screen, iTerm2, Wezterm, Ghostty, and every terminal that supports the standard BEL character. Most terminals can translate BEL into a visual bell, a dock badge, or a desktop notification depending on user preference. The user controls what "bell" means to them.
Proposed behavior
When the approval prompt is displayed (the "Allow / Deny" dialog for tool use), emit a single
\a(BEL,\x07) to stderr before or alongside the prompt text.Optionally, make this configurable:
Why not just use the existing Notification hook?
The
Notificationhook fires for general notifications, not specifically for approval prompts. Wiring a bell through a hook requires the user to write and maintain a shell script for something that could be a one-liner in the core UI.Related
Drafted with AI assistance. AI-G — fully AI-generated, human-reviewed.