[BUG] Local notifications "Auto" does not select Ghostty when running inside tmux (TERM_PROGRAM=tmux)
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
With Local Notifications set to Auto (preferredNotifChannel: "auto"), Claude Code sends no desktop notifications when it runs inside tmux in a Ghostty terminal. Setting the channel explicitly to Ghostty (OSC 777) works, so the terminal, tmux and the notification path are fine. Only Auto's detection fails.
Inside tmux, TERM_PROGRAM=tmux and TERM=tmux-256color, so Auto seems to treat the terminal as "tmux" and fall back to "no method available". Claude Code already appears to know the real terminal: tmux reports the attached client via #{client_termtype} (here ghostty 1.3.1), and Claude Code seems to query this already. That value isn't used when choosing the notification channel.
What Should Happen?
When running inside tmux, Auto should pick the channel for the terminal the tmux client is using, as it does outside tmux. For Ghostty that's OSC 777, which Claude Code already wraps in tmux passthrough when the channel is set explicitly.
Error Messages/Logs
Steps to Reproduce
- Run Ghostty (Linux), SSH to a Linux host, and start tmux 3.3+ with
set -g allow-passthrough allin~/.tmux.conf. - Start Claude Code inside tmux. In
/config, set Local Notifications to Auto. - Send any prompt and wait more than 60 seconds without interacting → no notification.
- In
/config, set Local Notifications to Ghostty (OSC 777) and repeat → the "Claude is waiting for your input" notification arrives.
Check that the terminal side works (from a shell inside tmux):
printf '\ePtmux;\e\e]777;notify;Test;Hello\a\e\\' > "$(tmux display -p '#{pane_tty}')"
Claude Model
None
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
2.1.295
Platform
AWS Bedrock
Operating System
Other Linux
Terminal/Shell
Other
Additional Information
- Claude Code host: Linux x86_64, tmux 3.7c (also reproduced with tmux 3.2a)
- Local terminal: Ghostty 1.3.1 on Ubuntu 24.04, connected via SSH