はじめに
最近、Claude Code や Codex、Gemini CLI などのAIコーディングツールを日常的に使うようになりました。複数のプロジェクトを並行して進めていると、いくつものセッションを同時に開くことになり、「どのセッションが今動いているのか」「どれが入力待ちなのか」がわかりにくくなってきました。
そこで、セッションの状態を一覧で確認できるTUIダッシュボード lazyccg を作りました。
作ったもの
lazyccg は、kitty terminal上で動作する軽量なTUIダッシュボードです。lazydockerのような分割ペインUIで、AIセッションの状態をリアルタイムに監視できます。
主な機能:
- セッション一覧表示 – 全AIセッションを一目で確認
- ステータス自動検出 – RUNNING / IDLE / WAITING / DONE を自動判定
- セッションのリネーム – 日本語入力にも対応
- ワンキーでフォーカス – 選択したセッションにすぐ切り替え
対応ツール:
- Claude Code
- OpenAI Codex
- Gemini CLI
インストール
Homebrew または go install でインストールできます。
# Homebrew (macOS)
brew tap atani/tap
brew install lazyccg
# Go Install
go install github.com/atani/lazyccg/cmd/lazyccg@latest
使い方
kitty terminalでremote controlを有効にした状態で起動します。
lazyccg
事前にkitty.confに以下を追加しておく必要があります:
allow_remote_control yes
listen_on unix:/tmp/kitty
キーバインド
| キー | 操作 |
|---|---|
↑ / k |
上に移動 |
↓ / j |
下に移動 |
Enter |
セッションにフォーカス |
r |
セッション名を変更 |
Tab |
ステータスフィルターに切り替え |
q |
終了 |
技術的なポイント
kitty remote control APIの活用
kitty terminalのremote control APIを使って、各ウィンドウのタイトルや出力内容を取得しています。これにより、ターミナル全体の状態を外部から監視できます。
ステータスの自動判定
各セッションの出力内容を解析して、現在の状態(実行中・アイドル・入力待ち・完了)を自動で判定しています。プロンプトのパターンやスピナーの有無などから推測しています。
Bubble Teaによる分割ペインUI
GoのTUIフレームワークBubble Teaを使って、lazydocker風の2ペイン構成を実現しています。左側にセッション一覧、右側に選択中セッションの出力を表示します。
おわりに
複数のAIセッションを並行して動かす場面が増えてきたので、自分用に作ったツールです。特にClaude Codeで複数タスクを同時進行するときに重宝しています。
kitty terminal限定ですが、同じような使い方をしている方には便利かもしれません。

