craftzdog/tmux-claude-hatch

tmux plugin that runs Claude Code sessions in popups per project directory, with an fzf picker showing each session's status and a bell that highlights the window that needs you.

何を解決するか

このプロジェクトは、tmux 内で複数の Claude Code エージェント セッションを管理する方法を提供します。開発者は、Neovim や Emacs などの主要エディタから離れることなく、AI エージェントをバックグラウンドで実行できます。エージェントが作業中、待機中、またはアイドル状態かどうかを手動で切り替えたり追跡したりする必要がなくなります。

動作方法

これは、tmux プラグインとして機能するシェルスクリプトのコレクションです。Claude Code セッションはネストされた tmux セッションとして起動され、現在のウィンドウの上にポップアップとして表示されます。

主なメカニズムは以下の通りです:

  • セッション管理:各エージェントに独自のネストされたセッションが割り当てられ、ポップアップを閉じてもプロセスは終了しません。
  • 中央ピッカーfzf を使って実行中のすべてのエージェントを一覧表示し、claude agents --jsonjq を使って解析して、エージェントのリアルタイムステータス(作業中、待機中、アイドル)を表示します。
  • ベル転送:エージェントのセッションから発生する端末ベルを現在のウィンドウに転送し、エージェントが注意を要するときにユーザーに通知します。
  • オプションプラグイン:併用される Claude Code プラグインにより、ベルとキャッシュのリフレッシュ設定が自動化されます。

対象ユーザー

tmux と (Neo)vim や Emacs を使用し、AI エージェントがバックグラウンドでタスクを処理するのを望みながら、コードに集中したい開発者。

特徴

  • ポップアップインターフェース:tmux ポップアップ(prefix + y)を使って Claude セッションを起動・接続できます。
  • リアルタイムステータス追跡:中央ピッカー(prefix + u)でエージェントが workingwaitingidle のいずれかであるかをリアルタイムで確認できます。
  • クロストーク通知:バックグラウンドのエージェントがベルを鳴らすと、現在のウィンドウに視覚的なハイライトが表示されます。
  • スマートジャンプ:エージェントが起動されたウィンドウにクライアントを自動的に切り替え、ポップアップを開きます。
  • ライブプレビューfzf ピッカー内からエージェントの画面を直接プレビューできます。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト