Skip to content

原文(日本語に翻訳)

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でデスクトップ通知を受け取るには:

  1. ~/.tmux.confset -g allow-passthrough onを追加
  2. iTerm2の設定 → Profiles → Terminal → Notifications を有効化
  3. 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を通じて外側のターミナルに伝達されます。

対応ターミナルとその通知タイプ

ターミナル通知タイプ
iTerm2macOSデスクトップ通知、バッジ
Kittyデスクトップ通知(libnotify経由)
Ghosttyデスクトップ通知、プログレスバー、Dockバッジ

注意点

  • allow-passthroughはtmuxのセキュリティに関わる設定です。信頼できるアプリケーションのみが実行される環境で有効化してください
  • tmux 3.3以降でサポートされています。古いバージョンでは動作しない場合があります
  • この設定はtmuxの全てのウィンドウ・ペインに適用されます
  • WSL2やSSH越しのtmux環境では、ホストのターミナルが通知をサポートしていることが必要です

関連情報