Review your git branch in a cmux browser split, with inline comments you can hand to an agent
Run one command inside any git repository and DiffHub serves a GitHub-style diff of your working tree at localhost:2047.
Browse any public GitHub pull request in the hosted viewer, with nothing installed.
npm install -g diffhubOr run it without installing: npx diffhub@latest.
Run inside any git repository.
# Review the current branch in a cmux browser split
diffhub cmux
# The same viewer in your default browser
diffhub
# Compare against a different base branch
diffhub cmux --base develop
# Review a repository in another directory
diffhub cmux --repo ~/Code/mblode/cmuxThe default view is touched: HEAD versus the working tree, including untracked files. Merge-base scopes (all, committed) are available from the status bar, and --base still selects the comparison branch, preferring origin/main so unpushed commits show up. A watcher marks updates available; press r to refresh. diffhub cmux uses a repo-derived port in 20000–29999 instead of 2047.
| Command | Description |
|---|---|
diffhub | Open DiffHub in your default browser |
diffhub cmux | Open DiffHub in a cmux browser split |
diffhub serve | Same as diffhub, starts the local web app |
| Flag | Default | Description |
|---|---|---|
-p, --port <port> | 2047 | Port to serve on |
-r, --repo <path> | cwd | Path to the git repository |
-b, --base <branch> | auto | Base branch to diff against |
--no-open | Skip automatic browser open |
| Flag | Default | Description |
|---|---|---|
-r, --repo <path> | cwd | Path to the git repository |
-b, --base <branch> | auto | Base branch to diff against |
| Key | Action |
|---|---|
j / k | Next / previous file |
s | Toggle split / stacked view |
c | Collapse or expand the selected file |
Shift+C | Collapse all files |
Shift+E | Expand all files |
/ or t | Focus the file filter |
r | Refresh the diff |
F2 | Toggle the Diff stats panel |
- Node.js 20.11+ or Bun 1.0.23+, and a git repository (
git rev-parse --show-toplevelmust succeed). - cmux mode expects
cmux.appinstalled on macOS at/Applications/cmux.app. - Comments live in
.git/diffhub-comments.jsonin the repository you are reviewing, and copy out as a markdown review prompt for a coding agent.
MIT
Crafted by Matthew Blode
