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

小さく、目的に絞ったターミナル。タブもプラグインも初期設定もありません。

ウインドウごとに色を

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 の作業状態表示

ウインドウ上端の光の帯とタイトルバー右端のラベルがエージェントの状態を示します。別のアプリを使っている間にウインドウが応答待ちになると、Dock アイコンが一度跳ねて知らせます。

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

設定方法

  1. claude-code-activity.sh をダウンロードして ~/.claude/hooks/ に置き、chmod +x で実行権限を付けます。
  2. ~/.claude/settings.json(Claude Code)または ~/.codex/hooks.json(Codex CLI 0.155 以降)の各イベントに登録します。<you> はご自身のユーザ名に置き換えてください。
  3. Codex CLI は一度対話モードで起動し、「Trust all and continue」を選びます。信頼するまで 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 - ~/.codex/hooks.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" }] }],
    "Stop":              [{ "hooks": [{ "type": "command", "command": "/Users/<you>/.claude/hooks/claude-code-activity.sh" }] }],
    "Interrupt":         [{ "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" }] }]
  }
}
自作のプログラムから状態を送る

次のシーケンスを標準出力に書きます。制御端末を持たない hooks の中からは、$KTERM_TTY の示す端末デバイスへ書きます。KTERM_TTY を引き継げば tmux や ssh の中でも動きます。

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\\'          # 消灯
完了の通知音(ベル)

ベルは設定で選んだ音と音量で鳴り、Bluetooth など無音時に休止する出力機器では、先に機器を起こして鳴り始めが欠けないようにします。Claude Code は ~/.claude/settings.json"preferredNotifChannel": "terminal_bell" を設定します。Codex CLI は ~/.codex/config.toml に次を追加します。

[tui]
notifications = true
notification_method = "bel"
notification_condition = "always"

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

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.3.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.3 2026年9月23日 kTerm-1.0.3.dmg(570 KB)
SHA-256 cdcd5fc91e5082109a0387eef1c57f60908b5bbe90fcc1a7f166986d5c47f3a1

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

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

ウインドウごとに、自分の色を

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

kTerm 1.0.3 をダウンロード

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