diffnav CLI
The terminal pager displays Git diffs with a file tree so users can review agent changes file by file.
- 1,625 ★ on the repository
- Last commit
- MIT
Extended access
Why this level
- Normal viewing reads a diff; watch mode reruns a supplied command, and global setup changes Git pager behavior.
Install
In your terminal, with SkillFoxx CLI
npx skillfoxx add cli/diffnavDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- Normal viewing reads a diff; watch mode reruns a supplied command, and global setup changes Git pager behavior.
This is third-party code. Review the repository files before installing.
What it does
diffnav displays a Git diff in the terminal with a changed-file tree. Users navigate files and choose unified or side-by-side views while discussing edits with an agent. Delta renders the differences. Input can come from Git or GitHub CLI pipes. Watch mode reruns a selected command and refreshes the display. Tree width, icons and appearance are configurable.
Who it is for. Reviewers of agent edits who prefer navigating files in the terminal to reading one long diff.
Good fit when
- An agent produced a multi-file patch.
- Pre-commit review needs file-tree navigation.
- A GitHub CLI pull-request diff needs interactive inspection.
- The review display should refresh as agent edits appear.
Not a fit when
- You expect an automatic correctness verdict.
- An interactive terminal is unavailable.
- The watch command has side effects when repeated.
Example request
Pipe the selected git diff into diffnav so I can review files without changing the global pager.Limitations
The view is only as complete as the supplied Git command and revision range, so confirm that selection before reviewing. Default icons need a suitable Nerd Font; otherwise choose Unicode or ASCII styling. Watch mode reruns the configured command, so use a reviewed diff-producing command without side effects. Setting a global Git pager affects all your repositories; first test a single patch through a pipe.
How to disable. Close the viewer and revert global pager.diff configuration if changed. Viewing does not apply or revert the patch.
FAQ
How do I open a regular diff?
Use `git diff | diffnav`.
How do I choose unified view?
Add `--unified` or `-u`.
How do I move between files?
Use n for next and p for previous.
How do I hide the file tree?
Press e.
What does watch mode run by default?
It reruns `git diff`; custom commands can be configured explicitly.
Discussion
No questions or reviews yet.
Related
CLI toolsA CLI turns Git changes into a guided code walkthrough with questions and explanations written by your existing agent
A CLI that opens a local git diff in the browser like GitHub's Files changed tab; comments copy out as prompts for an agent
A CLI opens diffs and documents in a terminal so a person can annotate lines and pass feedback to a coding agent
A terminal diff viewer: all files in one stream, and an agent with the hunk-review skill walks through the changes and leaves line comments
The CLI replays Git changes as typing animations to present commits and working-tree edits in the terminal.
lazygit is a terminal Git interface for bisecting regressions: mark good and bad revisions while locating the faulty commit.
README in short
Icon styles, diff statistics and pane widths are configurable. The first usage route needs no Git configuration changes.