【要約】iTerm2のタブを左に2行表示し、色でClaude Codeの状態まで一目で見分けたい [Zenn_Python] | Summary by TechDistill
> Source: Zenn_Python
Execute Primary Source
// Problem
開発者がClaude Codeを用いて複数のタスクを並行して実行する際、タブの識別が困難になる問題に直面した。AIエージェントの自律的な動作が、かえって人間の状況把握を妨げる要因となっている。具体的には以下の課題がある。
- ・Claude Codeがタブタイトルを自動書き換えするため、作業内容が不明になる。
- ・どのタブが「実行中」で、どのタブが「ユーザーの確認待ち」か判別できない。
- ・複数プロジェクトを扱う際、ブランチやリポジトリ情報の把握に手間がかかる。
// Approach
筆者は、iTerm2の拡張機能とClaude Codeのフック機能を組み合わせ、タブの表示内容と色を制御するアプローチを採用した。情報の「自動取得」と「低レイヤへの直接書き込み」を組み合わせている。
- ・Python APIによるTitle Providerの実装。ユーザー変数を参照し、2行のタイトルを表示する。
- ・Claude Codeのスラッシュコマンドによる作業内容の自動要約。git情報を元にタイトルを生成する。
- ・TTYデバイスへの直接書き込み。Claude Codeの子プロセスから親のTTYへエスケープシーケンスを送る。
- ・OSC 6エスケープシーケンスを用いたタブ色の動的変更。Claude Codeのフックから状態を通知する。
// Result
タブの視覚的情報が強化され、Claude Codeを多用する開発者の認知負荷が大幅に軽減された。情報の「引き算」により、必要な情報のみが強調される設計となっている。
- ・タブの2行表示により、作業概要とブランチ情報を一目で把握可能になった。
- ・タブの色(オレンジ:確認待ち、緑:完了)により、AIの状態を即座に検知できる。
- ・「実行中は色を付けない」設計により、ユーザーが介入すべきタブのみを際立たせている。
Senior Engineer Insight
> AIエージェントの自律性が高まる中、人間側の「監視コスト」をいかに下げるかが重要となる。本手法は、エスケープシーケンスやTTY操作といった低レイヤの技術を駆使し、DX(開発体験)を極限まで高めている。特に、AIの「待ち」状態を色で示す「引き算の設計」は、情報のノイズを減らす優れたアプローチだ。ただし、TTY特定ロジックの保守や、環境ごとの設定コストには留意が必要である。