ウインドウを並べて使う人のために

必要なものだけを、軽く。入れたその日から、設定なしで使えます。

ウインドウごとに色を

Cmd+Shift+] でそのウインドウの背景色を切り替え。日本の伝統色から取った 8 色に加え、JSON ファイルで自分の色も足せます。

AI エージェントの状態が見える

Claude Code / Codex CLI が考え中か、ツール実行中か、あなたの応答待ちかを光の帯で表示。応答待ちのウインドウ数は Dock のバッジに出ます。

TUI アプリがそのまま動く

vim / less / htop / tmux / Claude Code / Codex CLI が動作。ウインドウ幅を変えると履歴も含めて折り返し直します。

日本語入力に強い

日本語 IME のインライン入力、全角文字・絵文字の表示に対応。画面表示は日本語と英語を切り替えられます。

1 ウインドウ = 1 セッション

ウインドウがそのまま一つのシェル。前回の位置と大きさで開き、背面のウインドウを半透明にして最前面を際立たせることもできます。

1 MB 未満、依存ライブラリなし

端末エミュレーションは外部ライブラリを使わない自前実装。アカウント登録も利用状況の送信もなく、kTerm 自身はインターネットにつながない設計です。

Claude Code / Codex CLI の作業状態表示

エージェントに任せて別の作業をしていても、出番が来たら kTerm が知らせます。設定は最初に一度だけです。ウインドウ上端の光の帯とタイトルバー右端のラベルがエージェントの状態を示します。別のアプリを使っている間にウインドウが応答待ちになると、Dock アイコンが一度跳ねて知らせます。応答待ち・完了・失敗に変わったときは、設定で選んだベル音が鳴ります(設定の「作業状態で音を鳴らす」で切れます)。応答待ち・完了の表示は、キーを打つと消えます。

状態帯ラベル
考え中青い光が左から右へ流れる考え中
ツール実行中青緑の光が流れるツール名(Bash / Edit など)
応答待ち琥珀色で明滅(キーを打つと消える)応答待ち
完了緑を一瞬見せて応答待ちへ完了
失敗赤失敗

設定方法

  1. kTerm の設定(Cmd+,)を開きます。
  2. 「エージェント連携」の「Claude Code に設定」または「Codex CLI に設定」を押します。既存の設定はそのまま残り、変更前のファイルは同じフォルダにバックアップとして保存されます。
  3. Codex CLI は一度対話モードで起動し、「Trust all and continue」を選びます。信頼するまで hooks は動きません。

kTerm 1.0.7 以降で使えます。設定の前に、kTerm を「アプリケーション」フォルダから開いてください。登録は kTerm 内のスクリプトを指すので、kTerm を更新すれば hooks も新しくなります。

Codex CLI 0.157 以降は、既定で共有の常駐サーバーが hooks を起動するため、どのウインドウからの知らせかが hooks に伝わりません。その場合 kTerm は、Codex がウインドウタイトルに付ける回転記号とベルから作業状態を推定します。推定ではツール名のラベルは出ません。codex --no-daemon で起動すると、hooks が届いてより正確に表示されます。

手動で設定する

claude-code-activity.sh をダウンロードして ~/.claude/hooks/(Claude Code)または ~/.codex/hooks/(Codex CLI)に置き、chmod +x で実行権限を付けます。続いて下の例のとおり各イベントに登録します。<you> はご自身のユーザ名に置き換えてください。両方使う場合は 1 か所に置き、両方の設定でそのパスを指定します。

以前にダウンロードしたスクリプトを使っている場合は、1.0.9 に合わせて新しいものに置き換えてください。

ファイルが既にある場合は、置き換えずに追記します。"hooks" が無ければ、ほかの設定と並べて最上位に "hooks" のブロックを加えます。既にあればその中に各イベントを加え、hooks を登録済みのイベントには、その配列の末尾に { "hooks": [...] } の項目を足します。

Claude Code - ~/.claude/settings.json

{
  "hooks": {
    "SessionStart":      [{ "hooks": [{ "type": "command", "command": "/Users/<you>/.claude/hooks/claude-code-activity.sh" }] }],
    "UserPromptSubmit":  [{ "hooks": [{ "type": "command", "command": "/Users/<you>/.claude/hooks/claude-code-activity.sh" }] }],
    "PreToolUse":        [{ "hooks": [{ "type": "command", "command": "/Users/<you>/.claude/hooks/claude-code-activity.sh" }] }],
    "PostToolUse":       [{ "hooks": [{ "type": "command", "command": "/Users/<you>/.claude/hooks/claude-code-activity.sh" }] }],
    "PermissionRequest": [{ "hooks": [{ "type": "command", "command": "/Users/<you>/.claude/hooks/claude-code-activity.sh" }] }],
    "Notification":      [{ "hooks": [{ "type": "command", "command": "/Users/<you>/.claude/hooks/claude-code-activity.sh" }] }],
    "Stop":              [{ "hooks": [{ "type": "command", "command": "/Users/<you>/.claude/hooks/claude-code-activity.sh" }] }],
    "StopFailure":       [{ "hooks": [{ "type": "command", "command": "/Users/<you>/.claude/hooks/claude-code-activity.sh" }] }],
    "SessionEnd":        [{ "hooks": [{ "type": "command", "command": "/Users/<you>/.claude/hooks/claude-code-activity.sh" }] }]
  }
}

Codex CLI 0.155 以降 - ~/.codex/hooks.json

{
  "hooks": {
    "SessionStart":      [{ "hooks": [{ "type": "command", "command": "/Users/<you>/.codex/hooks/claude-code-activity.sh" }] }],
    "UserPromptSubmit":  [{ "hooks": [{ "type": "command", "command": "/Users/<you>/.codex/hooks/claude-code-activity.sh" }] }],
    "PreToolUse":        [{ "hooks": [{ "type": "command", "command": "/Users/<you>/.codex/hooks/claude-code-activity.sh" }] }],
    "PostToolUse":       [{ "hooks": [{ "type": "command", "command": "/Users/<you>/.codex/hooks/claude-code-activity.sh" }] }],
    "PermissionRequest": [{ "hooks": [{ "type": "command", "command": "/Users/<you>/.codex/hooks/claude-code-activity.sh" }] }],
    "Stop":              [{ "hooks": [{ "type": "command", "command": "/Users/<you>/.codex/hooks/claude-code-activity.sh" }] }],
    "Interrupt":         [{ "hooks": [{ "type": "command", "command": "/Users/<you>/.codex/hooks/claude-code-activity.sh" }] }],
    "SessionEnd":        [{ "hooks": [{ "type": "command", "command": "/Users/<you>/.codex/hooks/claude-code-activity.sh" }] }]
  }
}
自作のプログラムから状態を送る

次のシーケンスを標準出力に書きます。制御端末を持たない hooks などのプロセスからは、エスケープ文字を除いた同じ内容を 1 接続につき 1 行、$KTERM_ACTIVITY_SOCKET の受け口へ送ります(例: printf '7777;activity;busy;\n' | nc -U "$KTERM_ACTIVITY_SOCKET")。KTERM_ACTIVITY_SOCKET を引き継げば tmux の中でも動きます。

printf '\e]7777;activity;busy;\e\\'         # 考え中
printf '\e]7777;activity;tool;Bash\e\\'     # ツール実行中(ラベル付き)
printf '\e]7777;activity;attention;\e\\'    # 応答待ち
printf '\e]7777;activity;done;\e\\'         # 完了
printf '\e]7777;activity;error;\e\\'        # 失敗
printf '\e]7777;activity;off;\e\\'          # 消灯
完了の通知音(ベル)

作業状態の音は kTerm が鳴らすので、Claude Code 側の設定は要りません。Codex CLI は完了をベルで知らせるよう、~/.codex/config.toml に次を追加します。

[tui]
notifications = true
notification_method = "bel"
notification_condition = "always"
kTerm を終了した後も、ログイン項目に kTerm が表示される

kTerm は終了しています。動き続けているのは Codex CLI の常駐サーバーです。Codex CLI 0.157 以降は、次回の起動を速くするため、起動したターミナルを閉じてもこのサーバーが動き続けます。macOS はこのサーバーを起動元のアプリの一部として数えるため、kTerm の名前でシステム設定の「一般 > ログイン項目」に表示します。止めるときは codex app-server daemon stop を実行します。常駐させずに使うときは codex --no-daemon で起動します。

キーボードショートカット

Cmd+Shift+] / [次 / 前の背景色(そのウインドウだけ)
Cmd+N新規ウインドウ
Cmd+Wウインドウを閉じる(セッション終了)
Cmd+K画面とスクロールバックを消去
Cmd++ / - / 0そのウインドウの文字を大きく / 小さく / 元に戻す
Cmd+← / →行頭 / 行末
Option+← / →単語単位の移動
Shift+PageUp / PageDownスクロールバックのページ移動
ドラッグ選択と同時にコピー
右クリック貼り付け
Cmd+,設定: フォント・行間・既定の背景色・スクロールバック行数・Option を Meta キーに・ベル・作業状態の音・背面ウインドウの不透明度

~/Library/Application Support/kTerm/themes.json で色を追加・上書きできます。保存すると即座に反映され、設定画面の「Finder で表示」で雛形を作れます。

インストール

  1. kTerm-1.0.10.dmg をダウンロードして開きます。
  2. kTerm を「アプリケーション」フォルダへドラッグします。
  3. アプリケーションフォルダまたは Spotlight から kTerm を起動します。

kTerm は Kodama & Co. の Developer ID で署名し、Apple の公証を受けています。初回起動時に「インターネットからダウンロードされたアプリケーション」の確認が一度出るだけで、そのまま開けます。

アンインストール

kTerm をゴミ箱に入れます。設定と自作の色も消す場合は ~/Library/Preferences/com.kodama.kTerm.plist と ~/Library/Application Support/kTerm を削除します。

バージョン一覧

バージョン公開日主な変更とダウンロード
1.0.10 2026年10月9日
  • Cmd+F で画面とスクロールバックからキーワードを検索。一致箇所をすべて強調し、件数を表示
  • Return / Cmd+G で次へ、Shift+Return / Cmd+Shift+G で前へ移動。画面外の一致はその位置までスクロール
  • 大文字と小文字は既定で区別せず、検索欄の「Aa」で切り替え可能。折り返しで分かれた語も検索対象
kTerm-1.0.10.dmg(667 KB)
SHA-256 deac9176433a04913a7cb3ca0a92056978c56eb45654c1b3bf7c446179ff7658
1.0.9 2026年10月7日
  • Claude Code が質問やプランの承認で回答を待っている間も、応答待ちと表示
  • 考え中・ツール実行中の帯は、いつ見ても状態の色が分かる表示に変更
  • 暗い背景で読みにくい文字色(濃い青など)を、色味を保ったまま明るくして表示
  • 日本語入力で変換前の文字の中にカーソルを表示。変換中は選んでいる文節を太い下線で表示
1.0.8 2026年9月27日
  • 作業状態が応答待ち・完了・失敗に変わったときにベル音を鳴らす(設定で切り替え可能)
  • 完了の表示のあと応答待ちに移り、Claude Code と Codex CLI で見え方を統一
  • 応答待ち・完了の表示はキーを打つと消える
  • Codex CLI 0.157 以降の既定の構成でも作業状態を表示
  • 作業状態が別のウインドウに表示されることがあった問題を修正
1.0.7 2026年9月27日
  • 設定画面の「エージェント連携」から、ボタン一つで Claude Code / Codex CLI の hooks を登録
  • 作業状態表示のスクリプトをアプリに同梱し、kTerm の更新で一緒に新しくなるように変更
1.0.6 2026年9月27日
  • Claude Code / Codex CLI の起動直後に、区切り線の文字化けや入力欄のずれが起きることがあった問題を修正
  • 作業状態表示のスクリプトを更新。手で置いている場合は差し替えが必要
1.0.5 2026年9月26日
  • スクロールバックを読んでいる間は、新しい出力が来ても表示位置が動かない
  • 読んでいる間に届いた行数を右下に表示し、クリックで最下端へ戻れる
  • Cmd+Home / Cmd+End でスクロールバックの先頭 / 最下端へ移動
  • インストール画面を見やすくし、アイコン名が読めるように変更
1.0.4 2026年9月25日
  • 新しく開くウインドウの大きさ(桁数 x 行数)を設定で指定できる
  • 「現在のウインドウに合わせる」で、今のウインドウの大きさを既定にできる
  • 設定の数値は Return を押さなくても、入力したそばから反映
  • About 画面から製品ページと使用許諾を開ける
1.0.3 2026年9月23日
  • 最初の公開版

ダウンロードしたファイルはターミナルで照合できます。

shasum -a 256 ~/Downloads/kTerm-1.0.10.dmg
動作環境
macOS 14 Sonoma 以降
対応 CPU
ユニバーサル(Apple シリコン / Intel)
価格
無料
表示言語
日本語 / 英語
使用許諾
kTerm License(英語) - 個人・業務とも無料。無改変・無償なら再配布可
提供元
Kodama & Company, Inc.

エージェントの応答待ちを、見逃さない

macOS 14 Sonoma 以降で無料でお使いいただけます。ご質問・不具合のご報告はお問い合わせから。

kTerm 1.0.10 をダウンロード

kTerm のご利用には使用許諾(英語)、利用規約、アプリケーションプライバシーポリシー(英語)が適用されます。