Skip to content
Latchkey

delta: A Better Git Diff Pager (git-delta)

delta is a syntax-highlighting pager for git and diff output, adding language-aware colors, line numbers, and an optional side-by-side layout.

delta plugs into Git as the diff pager. It reads unified diff on stdin and re-renders it; the underlying diff is still Git's, so exit codes and gates are unaffected.

What it does

delta consumes a unified diff (from git diff, git show, or a pipe) and prints a syntax-highlighted, easier-to-read version. Configured as core.pager and interactive.diffFilter in Git, it becomes the default view. It does not compute diffs itself, so it never changes what Git reports.

Common usage

Terminal
git diff | delta
git diff | delta --side-by-side --line-numbers
# make it Git's default pager
git config --global core.pager delta
git config --global delta.navigate true

Options

FlagWhat it does
--side-by-sideShow old and new in two columns
--line-numbersShow line numbers in the gutter
--navigateEnable n/N navigation between files in the pager
--paging=neverDisable paging (needed in non-interactive CI)
--width <n>Wrap output to n columns
--diff-so-fancyEmulate diff-so-fancy styling

In CI

In a pipeline delta must not page or it will hang: use delta --paging=never or set DELTA_PAGER=cat. delta is presentation only, so gate on the upstream git diff --exit-code, then pipe the same diff to delta for a readable log if the gate fails.

Common errors in CI

"delta: command not found" means the git-delta package is missing (the crate is git-delta; the binary is delta). A job that hangs after printing a diff is delta waiting in its pager; add --paging=never or DELTA_PAGER=cat. If Git says "cannot run delta: No such file or directory", core.pager points at a binary the runner does not have installed.

Related guides

Run this faster and cheaper on Latchkey managed runners. Start free →