blog
AIブログ
Claude Code diff・差分・変更確認の使い方|実装者向け完全ガイド

Claude Code の /diff は、Claudeが各ターンで加えた変更をインタラクティブに確認できるビューアだ。左右キーで「現在のgit差分全体」と「個々のClaudeターンの差分」を切り替え、上下キーで変更ファイルを移動できる。git diff が「今この瞬間の未コミット差分」を見せるのに対し、/diff は「Claudeが何をどの順番で変えたか」を時系列でたどれる点が本質的な違いだ。確定・コミット前にAIの変更を精査するための、Claude Code専用の差分確認インターフェースと理解するとよい。
インストール手順や起動方法については Claude Code インストールガイド と Claude Code はじめかた を、料金体系については Claude Code 料金解説 を先に参照されたい。
/diffコマンドの実態:git diffとの本質的な違い
/diff を単なる「Claude版git diff」と誤解すると、その価値を半分しか引き出せない。両者の違いを明確にしておこう。
git diff はワーキングツリーの現在地点を見るコマンドだ。Claudeが10ターンかけて少しずつファイルを書き換えた場合、git diff HEAD で見えるのはその10ターン分が合算された結果のみだ。どの会話のどの指示がどの変更を生んだかは判断できない。
一方、/diff はClaudeのターンを単位として差分を時系列で記録している。左右キーで「現在のgit差分全体」と「個々のターンの差分」を切り替えながら、上下キーで変更ファイル間を移動できる。セッション中に「まずインターフェースを定義して、次に実装して、最後にテストを追加した」という三段階の変更があれば、それぞれの段階の差分を個別に確認できる。「第二ターンの実装だけを取り消したい」「どのターンで意図しない行が混入したか」を追跡するのに、このビューアは不可欠だ。
スラッシュコマンド全般の仕様については Claude Code スラッシュコマンド解説 にまとめている。
/diffコマンドの基本操作と画面の読み方

起動から差分確認までの手順
- プロジェクトルートへ移動する。
cd /path/to/project claudeコマンドでClaudeのインタラクティブセッションを起動する。- 通常どおり編集を依頼する。例:
auth.py のバリデーション処理をリファクタしてください - Claudeが応答してファイルを編集したら、プロンプトに
/diffと入力して送信する。 - 差分ビューアが開く。左右キーでビュー切り替え、上下キーでファイル移動を行う。
キーバインドとビューの切り替え方
/diff ビューアで使えるキー操作は以下の通りだ。
- 左右矢印キー: 「現在のgit差分(セッション全体の累積)」と「選択したClaudeターンの差分」を切り替える。複数ターンにわたる変更を持つセッションでは、ターンを指定して左右に移動しながら時系列を追う。
- 上下矢印キー: 変更が加わったファイル間を移動する。複数ファイルにまたがる変更でも、キーボードのみで素早く全体を巡回できる。
- q またはEsc: ビューアを終了してプロンプトに戻る。
表示形式はターミナル内のテキストベースで、unified diff 形式に近い。シンタックスハイライトはターミナルの設定に依存する。IDE のような行クリックナビゲーションはないため、変更規模が数十ファイルを超える大規模リファクタリングでは後述のVS Code拡張を補助的に使うほうが視認性は高い。
チェックポイントとして差分を活用するプロンプト設計
実装規模が大きい場合、一気に書き換えを依頼するよりも段階的に要求する設計が安全だ。「まずは変更方針だけを提示してください」と指示すれば設計レベルの確認が先行し、承認後に実装へ進む手戻りの少ないフローが成立する。「まずはファイル差分だけを提示してください」と依頼すれば実装レベルの検査を先行できる(出典: Qiita・CookieBox26、2026年1月27日取得)。
Claude Code 公式ドキュメント「Common workflows」も、編集前に計画を立てる(Plan before editing)ことを推奨しており、ディスクに触れる前にレビューの機会を設けることを明示している(出典: Claude Code 公式ドキュメント common-workflows.md)。差分を確認する「タイミング」を意識的にワークフローへ組み込まない限り、自動編集の利便性が確認コストの省略に変質してしまう。
VS Code拡張とターミナルの差分確認を方法別に比較する
差分確認の手段を選ぶ際は、表示形式・承認フローの粒度・CIとの親和性を軸にトレードオフを評価する必要がある。
| 手段 | 表示形式 | 操作場所 | 承認フロー | 主な向き不向き |
|---|---|---|---|---|
/diff コマンド |
テキスト・ターン別インタラクティブ | ターミナル内 | 確認後に手動でgit add | ターン単位の追跡・CLI中心・少数ファイル変更 |
| VS Code 拡張(サイドバイサイド) | GUI・行ハイライト | VS Code サイドバー | 承認ボタンで明示的に適用 | GUI操作を好む開発者・大規模変更の視認 |
| git diff(手動) | テキスト(unified diff) | ターミナル / IDE | git addで選択的ステージング | 既存gitフローを変えたくない場合 |
| git worktree 並列セッション | ブランチ間差分 | ターミナル / IDE | PRレビュー | 並列タスク・実験的変更の隔離 |
| Agent SDK + Bash ツール | スクリプト出力 | 任意(Python/TS) | スクリプト内で自動検証 | CI完全自動化・バッチ処理 |
VS Code拡張の差分ビューと承認フローの仕組み
Claude Code がVS Code拡張を通じてファイルを変更する際、変更前後の差分をサイドバイサイドで表示した上で承認を求める設計になっている。承認ボタンを押すまで実際のファイルは書き換えられない(出典: uravation.com、2026年3月31日取得)。ターミナルの /diff がコミット前の事後確認に使うのとは異なり、VS Code拡張の承認フローは変更の適用そのものを制御できる点が強みだ。
ただし、数十ファイルを一括変更するリファクタリングでは承認操作が連続して発生し、作業スループットが低下しうる。チームで承認権限を持つレビュアーを決め、Claudeの変更を直接mainブランチに反映させない運用ルールを設けることがリスク管理の基本となる。
git worktreeを使った並列セッションと差分管理
複数のClaudeセッションを同時並行で走らせると、同一ワーキングツリーへの競合書き込みが発生しうる。Claude Code 公式ドキュメント「Common workflows」は、並列セッション実行時に git worktree を使うことを明示的に推奨している(出典: Claude Code 公式ドキュメント common-workflows.md)。各セッションを独立したブランチに割り当てることで衝突を回避し、差分は最終的にPRを通じてレビューするため、既存のGitHubフローと統合しやすい。
# ブランチごとに作業ディレクトリを分離する
git worktree add ../feature-branch feature/my-task
# それぞれのディレクトリでClaudeを起動する
cd ../feature-branch && claude
# マージ時は通常のgit diffで全変更を確認する
git diff main...feature/my-task
CIパイプラインへの組み込みとAgent SDKを使った差分自動検証
Claude Code はパイプ経由でスクリプトやCIに組み込める(出典: Claude Code 公式ドキュメント common-workflows.md)。「Claudeに変更させる → 差分を自動レビュースクリプトで検証する → 問題なければコミット」というフローを無人で実行できる。
Agent SDKを使った差分確認の自動化実装
より高度な自動化にはAgent SDKが適している。PythonまたはTypeScriptからClaudeのエージェントループを呼び出し、ファイル読み取り・編集・コマンド実行を組み合わせられる(出典: Claude Code 公式ドキュメント agent-sdk/overview.md)。以下は公式Quickstartに準拠したPythonでの最小構成例だ。
import asyncio
from claude_agent_sdk import query, ClaudeAgentOptions
async def main():
async for message in query(
prompt="auth.py を編集後、git diff HEAD を実行して変更内容を出力してください",
options=ClaudeAgentOptions(allowed_tools=["Read", "Edit", "Bash"]),
):
print(message)
asyncio.run(main())
Bash ツールを許可することで、Claudeが自ら git diff HEAD を実行してセッション内に出力を返す。CI環境ではこの出力をログに保存し、想定外のファイルが含まれていないかをパターンマッチで検査するスクリプトと組み合わせると、ヒューマンレビューなしでの異常検知が可能になる。Pythonパッケージは Python 3.10以上が必要で、pip install claude-agent-sdk でインストールできる(出典: Claude Code 公式ドキュメント agent-sdk/quickstart.md)。
なお、Agent SDK および claude -p のサブスクリプションプラン利用は、インタラクティブ利用とは別の月次エージェントSDKクレジットから消費される。CI での利用頻度が高い場合は事前にクレジット消費量を見積もっておきたい。API料金の詳細は Claude Code API 料金解説 も参照されたい(出典: Claude Code 公式ドキュメント agent-sdk/overview.md)。
構造的差分ツール diffx との組み合わせ
JSONやYAMLなどの設定ファイルは、テキストレベルのunified diffでは変更の意味が読み取りにくい。「diffx」はデータの構造的な意味を理解して差分を表示するツールで、Claude Codeが生成した設定ファイルの変更レビューに活用できる(出典: Zenn・kako_jun、2025年7月6日取得)。Claude Codeの出力をdiffxにパイプすることで、キーの追加・削除・値の変更を構造として把握でき、行数が変わらない値の書き換えを見落とすリスクを低減できる。
差分確認における実装上の注意点とトレードオフ
大規模変更時のコンテキスト管理と差分の肥大化
会話コンテキストが長くなるほど、初期の指示や禁止事項が後続の編集に反映されにくくなるリスクがある。/diff のターン別ビューはこうしたコンテキスト劣化を早期に検出するのにも役立つ。特定ターンの差分を見て「この指示は通ったが、前の指示が無視されている」という状態に気づけるからだ。公式ドキュメント「Common workflows」は、サブエージェントへの調査委譲(Delegate research to subagents)によってメインコンテキストを分離する手法も提示している(出典: Claude Code 公式ドキュメント common-workflows.md)。実践的な使い方については Claude Code の使い方・実践ガイド も参考にしてほしい。
差分確認を省略した場合の具体的リスク
Claude Code による自動編集は、指示の曖昧さや文脈の誤解を原因として、指定範囲外のファイルを変更することがある。差分確認なしで git add . からコミットに進むと、テストやビルドに直接関係しないコンフィグや環境ファイルの変更が混入する恐れがある。特に本番環境に近いブランチでは、少なくとも git diff --stat HEAD で変更ファイル数を確認し、想定外のファイルが含まれていないかを目視することを最低限の安全策として組み込みたい。
弊社が開発するバーチャルヒューマン/AIアバター製品 DeepAI でも、AIが自律的にコードを変更する場面では差分の可視化とレビューフローの設計が製品品質に直結することを実際の開発で実感している。CIパイプラインに差分検証ステップを組み込む設計思想は、Claude Code を活用した開発においても同様に有効だ。
Neovim環境での差分プレビューの実現方法
VS Code以外のエディタでもインタラクティブな差分確認は実現できる。Claude Codeのフックシステム(PreToolUse / PostToolUse)を活用したNeovimプラグインは、編集をインターセプトしてNeovimのネイティブ差分モードと連携する設計が可能だ。フックシステムはバージョンによって仕様が変更される可能性があるため、実装前に公式ドキュメントで最新のAPIを確認することを推奨する。
他ツールとの差分確認フローの比較視点
GitHub CopilotやCursorとの差分確認フローの違いについては Claude Code vs Cursor 比較 および Claude Code vs Codex 比較 を参照されたい。各ツールによって承認フローの粒度・差分表示のタイミング・CIとの統合容易性が異なるため、チームのワークフローに合ったツールを選択することが重要だ。Claude Codeの全体像を改めて確認したい場合は Claude Code 総合解説 も合わせて参照されたい。
まとめ
/diff コマンドの核心は、「Claudeが何をどのターンで変えたか」を時系列でたどれるインタラクティブなビューアという点にある。左右キーでgit差分全体とターン別差分を切り替え、上下キーで変更ファイルを巡回するシンプルな操作で、AIの変更をコミット前に精査できる。
手段の選び方をまとめると、少数ファイルの変更やCLI中心の環境では /diff、GUI操作や変更の適用制御にはVS Code拡張、並列セッションにはgit worktree、CI自動化にはAgent SDKが適している。いずれの手段を選んでも、「差分確認のタイミングをワークフローに組み込む」という設計判断そのものが、AI駆動の編集ループにおける品質保証の要だ。
弊社が開発する DeepAI は、実在の人物の容姿・表情・声を再現するバーチャルヒューマン/AIアバター製品です。AI活用における品質管理の考え方に関心のある方はお問い合わせください。
参考文献
- Claude Code 公式ドキュメント「Common workflows」
https://code.claude.com/docs/en/common-workflows.md - Claude Code 公式ドキュメント「Agent SDK overview」
https://code.claude.com/docs/en/agent-sdk/overview.md - Claude Code 公式ドキュメント「Agent SDK Quickstart」
https://code.claude.com/docs/en/agent-sdk/quickstart.md - Claude Code 公式ドキュメント「Overview」
https://code.claude.com/docs/en/overview.md - 「Claude Codeの/diffコマンド|変更差分をインタラクティブに確認する」start-link.jp(2026年5月5日取得)
https://start-link.jp/hubspot-ai/ai/claude-code-practice/claude-code-diff-review - 「Claude Codeの/diffで変更内容を確認する方法」gptmasterguide.com(2026年5月6日取得)
https://gptmasterguide.com/claude-code/1293/
監修
河合 継(クリスタルメソッド株式会社 代表取締役)
AI・ディープラーニングに関する特許16件の発明者。過去、国立がん研究センターとの共同研究や、テレビ番組でのAI解説実績を持つAI研究者として、AIの研究開発を主導している。
運営会社について | 編集方針
Study about AI
AIについて学ぶ
-
SakuraSpeech(サクラスピーチ)|日本語特化のAI音声合成 – ブラウザ・API・完全オフライン対応【2026年版】
SakuraSpeech(サクラスピーチ)は、入力したテキストを自然で表情ゆたかな日本語音声に変換する、日本語特化のAI音声合成(TTS:Text-to-Spe...
-
GPT-5.5 Claude エージェント ベンチマーク選定——日本企業が問い直すべき評価軸
GPT-5.5がClaude Fable 5を上回った——「Agents’ Last Exam」とは何か 2026年6月、AIエージェント評価の文脈...
-
米上院 金融AI 規制 公聴会——日本の銀行・証券への実務的示唆
上院 金融AI 規制 公聴会の要点——何が、なぜ今議題に上ったか 2026年6月11日午前10時(米東部夏時間)、米上院銀行・住宅・都市問題委員会(U.S. S...