Claude Code / Codex / Gemini のセッションを一覧管理するTUIツールを作った

ツール

はじめに

最近、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限定ですが、同じような使い方をしている方には便利かもしれません。

タイトルとURLをコピーしました