`/terminal-setup` claims "Switched to visual bell" but leaves Terminal.app with no bell at all

Resolved 💬 1 comment Opened May 26, 2026 by cyxmon Closed Jun 26, 2026

Description

On macOS, /terminal-setup prints "Switched to visual bell", but it only sets Bell = 0 (audible bell off) and never writes VisualBell = 1. If the user also has VisualBellOnlyWhenMuted = 1 (a common default), the end state is: no sound AND no flash.

The user is told visual bell is enabled, but in practice the BEL character produces nothing.

Repro

  1. Fresh-ish Terminal.app profile on macOS.
  2. Run /terminal-setup in Claude Code.
  3. Observe output: "Switched to visual bell".
  4. In a new Terminal window, run printf '\a'.
  5. Expected: window flashes. Actual: nothing happens.

Confirmed state after running

\\\
$ defaults read com.apple.Terminal "Window Settings" | grep -iE "bell|visual"
Bell = 0;
VisualBellOnlyWhenMuted = 1;
\
\\

Note the absence of any VisualBell key.

Suggested fix

Also write VisualBell = 1 (and optionally set VisualBellOnlyWhenMuted = 0, or warn the user when it's on) so the announced state matches reality.

Environment

  • Claude Code: 2.1.142
  • macOS: 26.4.1 (build 25E253)

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗