DGC v0.41.1 is out
Navigate
Install DGC
DGC v0.41.1Edit on GitHub ↗
Using DGC/Git changes

git_diff, Changes in this chat, and Workspace changes

Git changes

#

DGC inspects Git without running git diff through a shell, without clean/smudge filters, and without talking to a remote. Three surfaces share that reader.

The git_diff tool

#

Available in every permission mode, including plan. /review uses it. GitDiff permission rules use the same deny → ask → allow policy as other tools.

View Comparison
uncommitted (default)HEAD → index, then index → working files, including untracked files
stagedHEAD → index; also works before the first commit
workingIndex → working files, including non-ignored untracked files
base, with refMerge base of a local branch/tag/commit and HEAD → HEAD
commit, optional refFirst parent → one commit (default HEAD); root commits use an empty tree

{"view":"base","ref":"main","path":"src"} reviews committed branch changes under src. Base and commit views do not include uncommitted edits. No view fetches. Working files are compared as raw bytes, so checkout line-ending conversion can differ from the ordinary Git UI. Renames appear as delete plus add. Symlinks, submodule contents, and conflicts need a separate look.

Inspection has a 20-second deadline, a 4,096-file cap, 1 MiB per file/list, a 64 MiB aggregate read budget, and a 24,000-character diff budget. Partial coverage is explicit. "No changes" is returned only when the selected scope was inspected completely and had none.

In the editor: Changes in this chat

#

The composer card Changes in this chat records deltas observed while this chat ran, using the actual file state before each run — even when the file was already dirty. A fresh chat starts empty. Opening a chat and finishing a read-only turn produce no card. Saved previews survive reload; later manual edits do not rewrite them. Older sessions have no retroactive baseline.

Snapshots are private session data. They never enter model context.

In the editor: Workspace changes

#

Workspace changes is the separate Git review: HEAD against working files, plus staged-only entries, including work that predates the chat. Tracking covers the currently acknowledged editor folders. Line totals are the displayed working-file differences, so a staged-only entry can show zero net lines; opening it previews the index as DGC staged review. Binary, conflict, submodule, and oversized previews send you to Source Control.

The terminal's /diff pane is the live working-tree view while a turn runs; see Diff pane.

Documentation