Skip to content
dots
Esc
↑↓navigate↵open⌘Jpreview
On this page

Hunk

Hunk terminal diff viewer settings, used as the gh-dash diff pager.

Hunk is a review-first terminal diff viewer aimed at agent-authored changes. In this setup it is the diff pager for gh-dash.

Sources dot_config/hunk/config.toml, dot_config/hunk/private_state.json
Targets ~/.config/hunk/config.toml, ~/.config/hunk/state.json (mode 0600)
Packages Not declared in packages.yaml; install hunk separately

config.toml

theme = "auto"
mode = "auto"
vcs = "git"
watch = false
exclude_untracked = true
line_numbers = true
tab_width = 4
wrap_lines = false
menu_bar = true
agent_notes = true
prompt_save_view_preferences = false
transparent_background = true
Key Value Effect
theme auto Picks a built-in theme to match the terminal.
mode auto Chooses split or stacked layout from the window width (alternatives: split, stack).
vcs git Git backend (alternatives: jj, sl).
watch false Does not reload on file changes.
exclude_untracked true Untracked files are left out of working-tree diffs.
line_numbers true Shows line numbers.
tab_width 4 Tab stops every 4 columns.
wrap_lines false Long lines are not wrapped.
menu_bar true Shows the top menu bar.
agent_notes true Shows agent notes when a review opens (off by default in hunk).
prompt_save_view_preferences false Does not ask to persist view changes.
transparent_background true Uses the terminal background instead of the theme’s.

No [pager] or per-command sections are set, so pager sessions use these top-level values.

state.json

private_state.json is hunk’s runtime state: the state-file version and lastSeenCliVersion, which hunk updates on its own. It holds no preferences. The private_ prefix gives it mode 0600.

Integrations

pager:
  diff: "hunk pager"

gh-dash pipes PR diffs into hunk pager. Plain git diff does not use hunk; it goes through diffnav (see Git).

Was this page helpful?