原文(日本語に翻訳)
set -g allow-passthrough onを設定したtmux内で実行時に、ターミナル通知(iTerm2/Kitty/Ghosttyのポップアップ、プログレスバー)が外側のターミナルに届くようになりました
原文(英語)
Terminal notifications (iTerm2/Kitty/Ghostty popups, progress bar) now reach the outer terminal when running inside tmux with set -g allow-passthrough on
概要
Claude Codeがtmux内で動作している場合でも、iTerm2、Kitty、Ghosttyのデスクトップ通知やプログレスバーが外側のターミナルアプリケーションに正しく伝達されるようになりました。これまでtmuxがエスケープシーケンスをブロックしていたため通知が届きませんでしたが、tmuxのallow-passthrough設定を有効にすることで解決します。
基本的な使い方
tmuxの設定ファイル(~/.tmux.conf)に以下を追加します:
bash
set -g allow-passthrough on設定を反映させるためにtmuxを再読み込みします:
bash
tmux source-file ~/.tmux.confまたは実行中のセッションで直接設定する場合:
bash
tmux set-option -g allow-passthrough on実践例
iTerm2での通知設定
iTerm2でデスクトップ通知を受け取るには:
~/.tmux.confにset -g allow-passthrough onを追加- iTerm2の設定 → Profiles → Terminal → Notifications を有効化
- Claude Codeがタスクを完了すると、macOSの通知センターにポップアップが表示される
Ghosttyでのプログレスバー表示
bash
# ~/.tmux.conf
set -g allow-passthrough on
# Ghosttyのプログレスバーが正しく表示されるようになるGhosttyを使用している場合、Claude Codeの処理中にウィンドウのタイトルバーやDockアイコンにプログレスバーが表示されます。
Kittyでの通知設定
bash
# ~/.tmux.conf
set -g allow-passthrough on
# Kittyの通知プロトコルが外側のターミナルに伝達されるtmuxのウィンドウタイトルと組み合わせる
bash
# ~/.tmux.conf
set -g allow-passthrough on
set -g set-titles on
set -g set-titles-string "#{pane_title}"この設定により、Claude Codeが設定するウィンドウタイトルもtmuxを通じて外側のターミナルに伝達されます。
対応ターミナルとその通知タイプ
| ターミナル | 通知タイプ |
|---|---|
| iTerm2 | macOSデスクトップ通知、バッジ |
| Kitty | デスクトップ通知(libnotify経由) |
| Ghostty | デスクトップ通知、プログレスバー、Dockバッジ |
注意点
allow-passthroughはtmuxのセキュリティに関わる設定です。信頼できるアプリケーションのみが実行される環境で有効化してください- tmux 3.3以降でサポートされています。古いバージョンでは動作しない場合があります
- この設定はtmuxの全てのウィンドウ・ペインに適用されます
- WSL2やSSH越しのtmux環境では、ホストのターミナルが通知をサポートしていることが必要です