Diff View #
A dedicated window showing what changed in a worktree vs HEAD — review an agent's work before you commit.
Keywords: diff, diff view, changes, review, working tree, HEAD, split, unified, line changes, ⌘⇧Y, show diff
Related: repositories-and-worktrees · github-pull-requests · command-palette
What it is #
The default Diff window shows all changes in the selected worktree's working directory compared against HEAD — exactly what an agent has modified. It's a fast way to review before committing or merging.
Open: click a worktree's diff badge, press ⌘⇧Y (show_diff), or use
Command Palette → "Show Diff".
By default Prowl opens its built-in YiTong-based diff window. In Settings → General → Diff Tool, you can choose an external tool instead:
- Built-in — opens Prowl's diff window. The window is a persistent singleton
(remembers size/position) and auto-refreshes when it regains focus.
⌘Wcloses it. - Hunk — opens a new Prowl terminal tab and runs
hunk diffin the worktree. - FileMerge — creates HEAD/worktree snapshot folders and runs
opendiff. - Kaleidoscope — creates HEAD/worktree snapshot folders and runs
ksdiff --diff. - Custom Command — creates HEAD/worktree snapshot folders and runs your
command in the worktree directory. Supported placeholders:
{leftPath},{rightPath},{worktreePath},{repoPath}, and{branch}.
Tools that are not installed on the Mac are shown disabled in the Diff Tool menu.
What the built-in window shows #
- A file list sidebar of changed files, each with a colored status badge:
- M Modified (orange) · A Added/untracked (green) · D Deleted (red) · R Renamed / C Copied (blue) · ? Unknown (grey).
- The selected file's diff, comparing the HEAD version (
git show HEAD:path) against the on-disk version. - Both tracked changes and untracked new files are included.
Modes & interactions #
- Split (side-by-side, default) or Unified view — toggle via the toolbar picker.
- Click a file in the list to view its diff.
- Auto-refresh on focus keeps it current as the agent keeps working.
Line-change badges elsewhere #
Repositories can show line-change badges (additions/deletions) on worktree
rows, controlled per repo by observeLineDiffsAutomatically (on by default).
Disable it for very large repos if it's expensive.
Availability #
Diff is a git-only feature — it's unavailable for plain (non-git) folders.
Gotchas for agents #
- The diff is working-tree vs HEAD, not vs the base branch — it reflects uncommitted changes in that worktree.
- External GUI tools receive snapshot folders so untracked files are included without changing the git index.
- The Hunk integration runs in a terminal tab because Hunk is terminal-native.
- For changes already in a pull request (vs the base branch, with CI), see github-pull-requests.