macOS 用ターミナル
ショートカット一つで、ウインドウごとに背景色を。並べたシェルを色で見分け、Claude Code や Codex CLI があなたを待っている瞬間も見逃しません。
~/projects/api $ claude > アップロード API にレート制限を追加して Read src/routes/upload.ts Edit src/middleware/rate-limit.ts Bash npm test 42 件成功、失敗 0 件
墨(Sumi) · 色をクリック、またはウインドウを選んで Cmd+Shift+]
小さく、目的に絞ったターミナル。タブもプラグインも初期設定もありません。
Cmd+Shift+] でそのウインドウの背景色を切り替え。日本の伝統色から取った 8 色に加え、JSON ファイルで自分の色も足せます。
Claude Code / Codex CLI が考え中か、ツール実行中か、あなたの応答待ちかを光の帯で表示。応答待ちのウインドウ数は Dock のバッジに出ます。
vim / less / htop / tmux / Claude Code / Codex CLI が動作。ウインドウ幅を変えると履歴も含めて折り返し直します。
日本語 IME のインライン入力、全角文字・絵文字の表示に対応。画面表示は日本語と英語を切り替えられます。
ウインドウがそのまま一つのシェル。前回の位置と大きさで開き、背面のウインドウを半透明にして最前面を際立たせることもできます。
端末エミュレーションは外部ライブラリを使わない自前実装。アカウント登録も利用状況の送信もなく、kTerm 自身はネットワークに接続しません。
ウインドウ上端の光の帯とタイトルバー右端のラベルがエージェントの状態を示します。別のアプリを使っている間にウインドウが応答待ちになると、Dock アイコンが一度跳ねて知らせます。
| 状態 | 帯 | ラベル |
|---|---|---|
| 考え中 | 青い光が左から右へ流れる | 考え中 |
| ツール実行中 | 青緑の光が流れる | ツール名(Bash / Edit など) |
| 応答待ち | 琥珀色で明滅 | 応答待ち |
| 完了 | 緑を一瞬見せて消える | 完了 |
| 失敗 | 赤 | 失敗 |
claude-code-activity.sh をダウンロードして ~/.claude/hooks/ に置き、chmod +x で実行権限を付けます。~/.claude/settings.json(Claude Code)または ~/.codex/hooks.json(Codex CLI 0.155 以降)の各イベントに登録します。<you> はご自身のユーザ名に置き換えてください。{
"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" }] }]
}
}
{
"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 で表示」で雛形を作れます。
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