カナダの Modem 社が開発したターミナル用の diff ビューア。git diff の出力をそのまま読む代わりに、複数ファイルの変更をサイドバー付きの画面でまとめて確認できる。とくに意識されているのが、AIエージェントが書いたコードのレビューという用途で、エージェントが残した「なぜこう変更したか」という説明を、該当するコードのすぐ横にインライン表示できる。CLI は hunk diff / hunk show のように Git のコマンドを模した形になっており、作業ツリーの変更・過去のコミット・パッチ・2つのファイルの比較を同じ操作感で扱える。OpenTUI と Pierre diffs を基盤に構築され、MIT ライセンスのオープンソースとして公開されている。
主な特徴
- 複数ファイルを1つの流れでレビュー: 変更されたファイルをサイドバーに並べ、上から下へ通して読める。ファイルを1つずつ開き直す必要がない
- エージェントの注釈をインライン表示: AIエージェントが残したコメントを、対象のハンク(変更のかたまり)の直上に差し込んで表示する。「このコードは何を意図しているのか」を差分と一緒に読める
- キーボードとマウスの両対応: ショートカット中心の操作も、マウスでのスクロール・クリックも使える。ターミナルツールに慣れていなくても扱いやすい
- レイアウト自動切替とウォッチモード: ターミナルの幅に応じて左右分割(Split)と上下積み(Stack)を自動で切り替える。
--watchを付ければ、ファイルを保存するたびに表示が自動更新される - Git 以外のバージョン管理にも対応: Git に加えて Jujutsu(jj)と Sapling(sl)を自動判別して扱える。Git のページャや difftool としても設定できる
- テーマと拡張: Catppuccin・Dracula・Gruvbox・Nord・Tokyo Night など60種類以上の配色を内蔵。TypeScript でテーマ・コマンド・バックエンドを追加できる
導入と使い方
インストールは npm・Homebrew・mise などから選べる。
npm i -g hunkdiff # npm 経由(Node.js 18 以上)brew install hunk # Homebrew基本的な使い方は Git のコマンドとほぼ同じ形になっている。
hunk diff # 作業ツリーの変更をレビューhunk diff --watch # 変更を監視して自動リロードhunk show # 直近のコミットをレビューhunk show HEAD~1 # 1つ前のコミットをレビューhunk diff file1 file2 # 2つのファイルを直接比較AIエージェントとの連携は、別のターミナルから hunk session コマンドで起動中のウィンドウを操作する方法と、注釈を書いた JSON ファイルを --agent-context で読み込ませる方法の2通りが用意されている。前者ではエージェントが特定のファイル・ハンクへ表示を移動させたり、コメントを追加・削除したりできる。
料金
| プラン | 料金 | 主な特徴 |
|---|---|---|
| オープンソース版 | $0 | 全機能を利用可能。MIT ライセンス |
料金は2026年8月時点の情報です。最新の情報は公式サイトをご確認ください。
メリット・デメリット
✅ メリット
- 無料・オープンソースで、有料プランや利用制限がない
- エージェントの説明コメントを差分の脇で読めるため、「大量に生成されたコードを読み解く」作業の負担が下がる
- ターミナルから離れずに済み、エディタや GitHub の画面へ移動しなくてもレビューできる
- Git・Jujutsu・Sapling を同じ操作感で扱える
- 配色テーマが豊富で、手元の環境に馴染ませやすい
⚠️ デメリット
- ターミナル前提のツールのため、CLI に不慣れな人には敷居がある
- npm 経由でのインストールには Node.js 18 以上が必要(バイナリ配布を使えば不要)
- コードレビューの表示に特化しており、コミットやマージなどの Git 操作そのものは行えない
- エージェント連携は設定を伴うため、導入直後にすぐ使えるわけではない
- 2026年3月に公開された比較的新しいツールで、仕様の変化が今後もありうる
類似サービスとの比較
| 比較項目 | hunk | delta | difftastic | lazygit |
|---|---|---|---|---|
| 主な用途 | 差分レビュー(エージェント前提) | 差分の見やすい着色表示 | 構文を理解した差分表示 | Git 操作全般のTUI |
| エージェント注釈 | 対応 | 非対応 | 非対応 | 非対応 |
| 複数ファイル一覧 | サイドバー表示 | 連続出力 | 連続出力 | ファイルツリー表示 |
| Git 以外のVCS | Jujutsu / Sapling | ─ | ─ | ─ |
| Git 操作 | 不可(閲覧専用) | 不可 | 不可 | 可能 |
| 料金 | 無料(MIT) | 無料 | 無料 | 無料 |
こんな人におすすめ
- Claude Code や Codex などのコーディングエージェントを日常的に使い、生成された差分を読む時間が長い開発者
- ターミナル中心のワークフローを組んでいて、レビューのためにブラウザへ移りたくない人
git diffの素の出力では、変更ファイルが多いときに全体像を追いきれないと感じている人- Jujutsu や Sapling を使っていて、同じビューアで差分を確認したい人
まとめ
hunk は、「AIエージェントが大量にコードを書く時代に、人間はどう差分を読むか」という問いに対する1つの答えとして作られたツールである。複数ファイルをまとめて追える画面構成と、エージェントの意図をコードの脇に置ける注釈機能が中心にあり、Git のコマンドを模した CLI でそのまま使い始められる。無料かつ MIT ライセンスなので、普段のレビューで git diff に物足りなさを感じているなら、まず hunk diff を1回試してみるところから始めるとよい。