terminal-title について
Claude Code セッションのターミナルウィンドウに簡潔なタイトルを設定するスキルです。複数のインスタンスを使う開発者が、タスクを見分けやすくするため、タスク内容からタイトルを作成してスクリプトで反映します。
主な機能
- 01タスクからタイトルの要点を抽出
- 02識別しやすい短いタイトルを生成
- 03スクリプトでターミナルタイトルを設定
- 04現在のディレクトリ名を先頭に追加
- 05環境変数によるカスタム接頭辞に対応
- 06プロンプト送信フックの代替案を提供
活用シーン
- 01並行する Claude Code セッションの識別
- 02タスク切り替え時のタイトル更新
- 03プロジェクト別のターミナル表示
- 04プロンプト送信フックによる自動設定
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ bluzername/ claude-code-terminal-title --skill terminal-titleインストール後、Claude Code で/terminal-titleを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
CHANGELOG.mdLICENSEVERSIONhooks/set-title-hook.shscripts/set_title.sh詳細
ターミナルタイトル
概要
Claude が取り組んでいるタスクに基づいて、ターミナルウィンドウに内容を表すタイトルを設定します。複数の Claude Code インスタンスを実行していて、どのターミナルがどのタスクを処理しているかを把握する必要がある開発者に不可欠です。
使用するタイミング
このスキルは必ず次のタイミングで実行してください。
- 新しい Claude Code セッションの開始時(最初のユーザープロンプトを受け取った後)
- 大きく異なるタスクに切り替えるとき(たとえば、「API 統合」から「データベースの移行」に切り替える場合)
次のようなタスクの切り替え時に実行してください。
- フロントエンドの作業からバックエンドの作業に切り替える
- デバッグから新機能の開発に移る
- あるモジュールやコンポーネントから、まったく別のものに切り替える
- システムの別の部分の作業を始める(たとえば、認証から決済に切り替える)
次の場合は実行しないでください。
- 同じタスクについての追加質問(「その関数にコメントを追加できますか?」)
- 現在の作業の小さな調整(「赤ではなく青にしてください」)
- 直前に構築した同じ機能のデバッグ
- 確認の質問(「X とはどういう意味ですか?」)
- 同じコンポーネントやモジュールの反復作業
- タスクの途中での状況報告や進捗確認
仕組み
- タスクの概要を抽出する:ユーザーのプロンプトからタスクの概要を特定します
- タイトルを生成する:簡潔で内容が伝わるタイトルを作成します(最大 40 文字)
- タイトルを設定する:生成したタイトルを指定して
set_title.shを実行します - 確認は不要です:この処理はバックグラウンドで通知なしに実行されます
タイトルの形式に関するガイドライン
良いタイトル:
- 「API 統合:認証フロー」
- 「修正:ログインのバグ」
- 「DB 移行:Users テーブル」
- 「構築:ダッシュボード UI」
- 「リファクタリング:決済モジュール」
表示例(スクリプトがフォルダー名を先頭に追加します):
my-project | API Integration: Auth Flowmy-project | Fix: Login Bug
悪いタイトル:
- 長すぎる:「OAuth2.0 対応を含む新しい認証システムを実装しています」
- 抽象的すぎる:「作業中」や「コーディング」
- 冗長すぎる:「ユーザーは私に、次のことを手伝ってほしいと考えています……」
- システム情報を含む:「/Users/john/project: 機能を構築」
- 文になっている:「ダッシュボードコンポーネントに取り組んでいます」
形式のパターン:
[Action/Category]: [Specific Focus]
タイトルは簡潔で、行動が伝わり、ひと目で認識できるものにしてください。
実装
インストール済みのスキルディレクトリからスクリプトを実行します。ここでは個人用のインストールパスを示しています。プロジェクトにインストールする場合は、プロジェクトのルートからの相対パス .claude/skills/terminal-title/scripts/set_title.sh を使用してください。
bash ~/.claude/skills/terminal-title/scripts/set_title.sh "Your Title Here"
ワークフローの例:
# User asks: "Help me debug the authentication flow in the API"
bash ~/.claude/skills/terminal-title/scripts/set_title.sh "Debug: Auth API Flow"
# User asks: "Create a React component for the user profile page"
bash ~/.claude/skills/terminal-title/scripts/set_title.sh "Build: User Profile UI"
# User asks: "Write tests for the payment processing module"
bash ~/.claude/skills/terminal-title/scripts/set_title.sh "Test: Payment Module"
スクリプトの詳細
scripts/set_title.sh は、制御端末(/dev/tty)に OSC 0 エスケープシーケンスを書き込みます。端末が接続されていない場合は、標準出力にフォールバックします。また、タイトルを ~/.claude/terminal_title に保存するため、シェルフックが各プロンプトの後にタイトルを再適用できます。macOS Terminal.app、iTerm2、Alacritty、Kitty、および tmux や screen を含む、ほとんどの xterm 互換エミュレーターで動作します。
このスクリプトは引数を 1 つ(タイトル)受け取り、引数が指定されていない場合は何も出力せずに終了します。
ディレクトリ名の自動追加
すべてのタイトルには、現在のディレクトリ名(通常はリポジトリ名)が先頭に追加されます。
my-project | Build: Dashboard UI
another-repo | Debug: Auth API
カスタムプレフィックス(任意)
ユーザーは CLAUDE_TITLE_PREFIX 環境変数を使って、カスタムプレフィックスを追加できます。
export CLAUDE_TITLE_PREFIX="Claude"
これにより、「Claude | my-project | Build: Dashboard UI」のようなタイトルになります。
注: これらの変数を確認したり、動作を変更したりする必要はありません。スクリプトが処理します。
確定的な代替方法
このスキルディレクトリにある hooks/set-title-hook.sh は、Claude Code の UserPromptSubmit フックとして設定できます。このスキルが呼び出されるかどうかにかかわらず、すべてのプロンプトの最初の行からタイトルを設定します。設定例については、プロジェクトの README を参照してください。