Claude Media
Claude Codeのdiffパネルで未コミットの変更を並べて見る

Claude Codeのdiffパネルで未コミットの変更を並べて見る

Claude Code v2.1.260のdiffパネルは、フルスクリーンレンダリング中に未コミットの変更を会話の横へ常設表示します。開き方・操作・自動更新の条件をまとめます。

/diffを実行すると、フルスクリーンレンダリング中は会話の横にdiffパネルが開きます。変更したファイルの一覧と各ファイルの差分を常設表示し、Claudeがファイルを編集するかシェルコマンドを実行するたびに自動で更新されます。クラシックレンダラーで/diffを実行したときに開く差分ビューアーとは別画面です。

diffパネルとは何か

diffパネルは、変更したファイルを追加・削除行数つきで一覧し、選んだファイルの差分をその下に表示するパネルです。Claudeがファイルを編集するかシェルコマンドを実行するたびに内容が更新されるため、会話を止めずに変更範囲を目で追えます。閉じるには/diffをもう一度実行するか、パネル右上の✕をクリックします。

パネルを開くには次の4条件がすべて必要です。

要件内容
レンダリングモード内容フルスクリーンレンダリングが有効
リポジトリ内容gitリポジトリ内で実行
ターミナル幅内容110列以上
バージョン内容Claude Code v2.1.260以降

条件を満たさない場合、/diffはクラシックレンダラー用の差分ビューアーを代わりに開くか、開けない理由を表示します。フルスクリーンレンダリングは研究プレビューという位置づけで、環境によっては既定で無効です。有効化の手順や、/tuiコマンドの詳細はClaude CodeのTUI(フルスクリーン)とはにまとめています。

/diff

パネルでできる操作

パネルが開いている間は、次の操作が使えます。

操作方法
ファイルへジャンプ方法一覧の行をクリック
ファイル一覧のスクロール方法マウスホイール、またはAlt+↑/Alt+↓、Ctrl+↑/Ctrl+↓
隠れているファイルを表示方法一覧下部の「before this session」等の集約行をクリックして展開
比較対象の切り替え方法Ctrl+X Bでセッション内の変更・未コミット全体・デフォルトブランチからの差分を順に切り替え

パネルの一覧は既定でテストファイルと生成ファイルを省き、このセッションより前からの変更は1行にまとめて折りたたみます。件数の行をクリックすると展開できます。Ctrl+X Bで切り替えた比較対象は、プロジェクトごとに記憶されます。次回同じプロジェクトを開いたときも、最後に選んだ比較対象のままです。行を選択してClaudeに質問する操作は、次の節で扱います。

比較対象の切り替え(Ctrl+X B)を別のキーに変えたい場合は、DiffPanelコンテキストでapp:cycleDiffBaseを再割り当てします。

{
  "bindings": [
    {
      "context": "DiffPanel",
      "bindings": {
        "ctrl+x b": null,
        "ctrl+y": "app:cycleDiffBase"
      }
    }
  ]
}

ctrl+x bはChatコンテキストのctrl+x系のコード(chord、連続キー入力)と同じプレフィックスを共有します。プレフィックスごとctrl+xを単独キーとして使い回したい場合は、Chat・Task・DiffPanelの各コンテキストでctrl+xから始まる既定のコードをすべてnullにしてから再割り当てします。

選択した行についてClaudeに聞く

複数ファイルにまたがる指示を出したあとにdiffパネルを開くと、変更が意図通りかを会話を止めずに確認できます。気になる箇所が見つかったら、その行をマウスでドラッグして選択します。選択した範囲は次に送るプロンプトに自動で添付され、入力欄には選択した行数が表示されたままになります。選択した行数の表示が残っている間は、そのまま質問や指示を続けて入力し、Enterで送ればClaudeは選択した行を踏まえて答えます。

選択した範囲を使わずにそのままメッセージだけ送りたい場合は、行数表示のすぐ後ろにカーソルを合わせてBackspaceを押すと選択が外れます(Claude Code v2.1.271以降)。それより前のバージョンでは選択を外す操作がなく、選択したままメッセージを送るか、選択自体をやり直す必要があります。

例えば、複数ファイルへのリファクタ後にdiffパネルを開いたとします。あるファイルのエラー処理部分の数行だけを選び、「ここは例外を握りつぶさずログに残すべきでは」と続けて送ると、Claudeはその数行を対象にした指示として受け取ります。ファイル全体を貼り付けたり行番号を書き添えたりする手間がなく、パネルで見つけた箇所をそのまま次の指示に渡せます。

パネルが自動で開く条件

ターミナル幅が144列以上ある場合、Claudeがファイルの編集を始めた時点でdiffパネルは自分から開きます。一度/diffで手動で開いたセッションでは、以降のセッションでもClaudeがファイルを編集した瞬間、幅が足りているターミナルであれば自動で開くようになります。逆にパネルを閉じると、そのセッションでも以降のセッションでも、次に/diffを実行するまで閉じたままです。

144列という自動起動の幅は、パネルを開くための最低幅(110列)より広い点に注意します。110列ちょうどのターミナルでは/diffを手動実行すれば開きますが、自動では開きません。

古い環境では既定でオンにならないことがある

v2.1.260以降であっても、フルスクリーンレンダリング自体がまだ研究プレビュー段階のため、環境によっては既定でクラシックレンダラーのままです。既定の基準は2系統あります。

Anthropicから機能フラグを取得する通常のセッションでは、そのマシンで2026年5月6日以降にClaude Codeを初めて使ったかどうかが基準です。それ以降が初回利用なら、既定でフルスクリーンレンダリングになります。

Bedrock・Google Cloud・Microsoft Foundry経由のセッションや、テレメトリーを無効にしたセッションでは機能フラグを取得できません。この場合は基準が変わり、そのマシンでClaude Codeを最初に起動したバージョンで判定します。最初の起動がv2.1.239以降なら、フルスクリーンレンダリングが既定になります。

どちらの基準も満たさない場合はクラシックレンダラーのままです。tui設定を保存済みならその設定が優先され、未保存なら/tui fullscreenを自分で実行するかCLAUDE_CODE_NO_FLICKER=1を設定しない限りdiffパネルは開けません。自分の環境がどちらに当たるか分からない場合は、/tuiを引数なしで実行すると現在有効なレンダラーが表示されます。社内ゲートウェイ経由でClaude Codeを配布しているチームは、対象マシンの最初の起動バージョンを控えておくと切り分けに迷いません。

サブモジュール内の編集はパネルに出ない

diffパネルが読む差分はgitの差分と同じ経路です。サブモジュールを含むリポジトリでは、サブモジュール自体は1つのエントリとして一覧に出ますが、参照先のコミットが変わったときだけ変化として表示されます。サブモジュール内部のファイルを個別に編集しても、その編集はパネルの一覧に出てきません。サブモジュールの中身まで確認したい場合は、サブモジュール側でgitの差分を確認します。

キューに入れたメッセージと選択範囲の関係

パネルで行を選択したまま次のメッセージを送らずに別の操作を続けると、その選択は次に送るプロンプトに添付されたまま保持されます。メッセージをキューに入れてClaudeの作業を待っている間も同じです。接続したIDEかdiffパネルのどちらかで選択した内容は、Enterを押した時点の選択がそのまま使われます。キューに入れたあとで別の行を選び直しても、キュー済みのメッセージ側の選択は変わりません。

差分ビューアーとの使い分け

クラシックレンダラーで/diffを実行すると開く差分ビューアーは、diffパネルとは別画面です。操作・表示範囲・閉じ方まで仕様が異なるため、どちらを使っているか意識しておく必要があります。

観点diffパネル(フルスクリーン)差分ビューアー(クラシック)
画面の扱いdiffパネル(フルスクリーン)会話の横に常設表示、閉じるまで開いたまま差分ビューアー(クラシック)プロンプトの位置に一時的に表示、読み終えたら閉じる
更新diffパネル(フルスクリーン)Claudeの編集・シェル実行のたびに自動更新差分ビューアー(クラシック)Currentビューは未コミットの変更、ターンビューはプロンプトごとの編集を表示
比較対象の切り替えdiffパネル(フルスクリーン)Ctrl+X Bでセッション内・未コミット・ブランチ差分を切り替え差分ビューアー(クラシック)左右キーでCurrentビューとターンビューを切り替え
必要環境diffパネル(フルスクリーン)フルスクリーンレンダリング + 110列以上 + v2.1.260以降差分ビューアー(クラシック)クラシックレンダラーで動作

差分ビューアー側のキー操作や、v2.1.222以降raw git blob基準になった仕様はClaude Code diffコマンドの使い方と差分ビューアー操作にまとめています。フルスクリーンレンダリングを使っていない、または要件を満たさないターミナルでは、こちらの挙動になります。

/code-reviewとの役割分担

diffパネルは変更を目で追うための表示専用パネルで、正しさの判定や改善提案は行いません。バグや整理の余地を指摘してほしいときは/code-review(エイリアス/review)を別に実行します。パネルで全体像をつかみ、必要な箇所だけ/code-reviewで深掘りする、という組み合わせ方になります。

よくあるつまずき

  • パネルが開かず差分ビューアーが開く: フルスクリーンレンダリングが無効、gitリポジトリ外、ターミナル幅が110列未満、Claude Codeがv2.1.260より前のいずれかです。/tuiでレンダリングモードを、claude --versionでバージョンを確認します
  • 編集を続けているのにパネルが自動で開かない: 自動起動には144列以上が必要です。110〜143列では要件を満たしていても手動で/diffを実行するまで開きません
  • 一部のファイルが一覧に出てこない: 既定でテストファイルと生成ファイルは省かれ、このセッションより前の変更は集約行にまとめられます。集約行をクリックすると展開できます
  • サブモジュール内の編集が見えない: サブモジュール自体は参照先のコミットが変わったときだけ一覧に出ます。内部のファイル変更はサブモジュール側でgitの差分を確認します
  • 必ずクラシックレンダラーで始まる環境: スクリーンリーダーモード、iTerm2のtmux -CC連携モード、Windows上のClaude CodeへのSSH接続、CLAUDE_CODE_NO_FLICKER=0やCLAUDE_CODE_DISABLE_ALTERNATE_SCREEN=1の設定、直前のフルスクリーン起動失敗でこのマシンが自動的にオフになった場合は、tui設定に関わらずクラシックレンダラーで始まりdiffパネルは開けません

まとめ

diffパネルは、フルスクリーンレンダリング中の/diffが開く常設パネルです。ファイル一覧と差分を会話の横に表示し、編集のたびに自動更新されるため、会話を止めずに変更範囲を確認できます。開くにはフルスクリーンレンダリング・gitリポジトリ・110列以上のターミナル幅・Claude Code v2.1.260以降が必要です。要件を満たさない場合やクラシックレンダラーでは、代わりに差分ビューアーが開きます。導入経緯はClaude Code v2.1.260にまとめています。

この記事を共有:XはてブLinkedIn