
I built a multi-repo, worktree-aware diff viewer as a Claude Code mod, because /diff kept missing changes
A Claude Code mod called Repo (MIT) that adds a /multi-diff pane for reviewing diffs across multiple repos and worktrees, with five compare modes, session-start git snapshots, and a file tree plus highlighted diff viewer.

About this mod
The author built a multi-repo, worktree-aware diff viewer as a Claude Code mod after finding /diff missed changes made by Python or shell scripts and showed nothing for non-git folders.
Features:
- /multi-diff opens a pane with Git-based diffs and a snapshot of every repo taken at session start (or on /clear), so "changes since session started" covers all tools and survives restarts/resumes without touching files, branches or staging.
- Automatic repo detection for every repo directly inside the opened folder.
- Worktree picker per repo, with detached scratch checkouts hidden unless requested.
- Five compare modes: uncommitted vs HEAD, unstaged vs staged, staged vs HEAD, branch vs base (PR view), and changes since session start.
- File tree and diff with change and word highlighting, light and dark themes.
Install: clone https://github.com/nvsravank/multirepo-diff-mod, then run claude --plugin-dir /path/to/multirepo-diff-mod and /multi-diff. For the Desktop app, add the folder to CLAUDE_CODE_PLUGIN_DIRS in the env block of ~/.claude/settings.json. Tested on macOS; Windows untested.
Notes for mod authors (Desktop app, engine 2.1.286): format 'diff' code blocks render as plain text on Desktop; large panes over ~300 rows can freeze buttons/dropdowns (paging at 150 rows worked around it); code blocks cap at 10,000 characters so big diffs must be split; panes scroll as a single page with no independent scroll areas or fixed header; mods cannot read the app theme, so the pane uses a manual light/dark toggle. Wanted API features: scrollable regions, a fixed top area, and theme exposure.
Installation
See the original source for installation instructions.
Original text / README
Claude Code Mod for Diffs I kept VS Code open just to check diffs, and /diff didn't fix it for me: it misses changes Claude makes with Python or shell scripts, and it shows nothing when the folder I open isn't a git repo. I keep backend and frontend repos side by side in one project folder. So I built a mod. /multi-diff opens a pane with: Git-based diffs. A git snapshot of every repo when the session starts (or on /clear ), so "changes since this session started" shows everything, by Claude or anyone, by any tool, and survives a restart and resume. Your files, branches and staging area are never touched. Automatic repo detection. Every repo in the folders directly inside the one you open. Worktrees. Each repo's worktrees in a picker; detached scratch checkouts are hidden until you ask. Five compare modes. Uncommitted vs HEAD, unstaged vs staged, staged vs HEAD, branch vs base (the PR view, without opening a PR), and changes since the session started. A file tree and a diff with change and word highlighting, in light and dark themes. All the ways to see Diffs Repo (MIT): https://github.com/nvsravank/multirepo-diff-mod To try it: clone it, then claude --plugin-dir /path/to/multirepo-diff-mod and run /multi-diff . For the Desktop app, add the folder to CLAUDE_CODE_PLUGIN_DIRS in the env block of ~/.claude/settings.json . Tested on macOS; Windows should work but is untested, so reports are welcome. Things I ran into, if you're building mods (Desktop app on engine 2.1.286): Code with format: 'diff' draws as plain text on Desktop. It's fine in the terminal. Reported as anthropics/claude-code#99535 . I draw my own rows on Desktop. Large panes go dead on Desktop. Past about 300 rows in one drawing, buttons and dropdowns stop working, with only ui_press not handled in ~/Library/Logs/Claude/main.log . Paging (150 rows) fixed it. Code blocks hold at most 10,000 characters , so big diffs need splitting into valid hunks. Panes scroll as one page. No independent scroll areas, and no fixed header. Mods aren't told the app's theme , so the pane has a light/dark toggle. What I'd like to see in the mods API: scrollable areas inside a pane, a fixed area at the top, and the app's theme exposed to mods. Bug reports and ideas welcome as GitHub issues. submitted by /u/Weary-Net1650 [link] [comments]
