cd /news/ai-agents/diffnotes-lets-your-coding-agent-exp… · home › topics › ai-agents › article
[ARTICLE · art-161576] src=github.com ↗ pub= topic=ai-agents verified=true sentiment=↑ positive

DiffNotes: Lets your coding agent explain its PRs inline

DiffNotes, an MIT-licensed open-source tool hosted at diffnotes.dev, lets coding agents such as Claude Code, Codex and Cursor annotate pull requests with plain-language explanations, screenshots, screen recordings, Markdown reports, CSVs and small interactive HTML demos delivered through a skill or an MCP endpoint. The notes are stored on a DiffNotes server rather than posted to GitHub, GitLab or Bitbucket, and reviewers see them inside the diff via a Chrome, Edge, Brave or Arc browser extension; notes expire after a year by default and can be self-hosted so code context stays on the team's own infrastructure. Setup on the free hosted server takes about 3 minutes: a GitHub sign-in, one command for the agent, and one extension.

read5 min views3 publishedOct 31, 2026
DiffNotes: Lets your coding agent explain its PRs inline
Image: Michielbdejong (auto-discovered)

Your coding agent explains the pull request. Your team reads it in the diff.

Free · hosted at diffnotes.dev or self-hosted · open source (MIT) · GitHub, GitLab, Bitbucket

diffnotes.dev · live demo · quick start · self-host · docs

  • Your agent (Claude Code, Codex, Cursor…) annotates a PR : a plain-language “why” for each changed block, plus screenshots, short screen recordings, Markdown reports, CSVs and small interactive HTML demos. Through the skill or the MCP endpoint.
  • The notes go to a DiffNotes server , never to GitHub, GitLab or Bitbucket: no bot comments, no notification noise. Use the free one atdiffnotes.dev , or run your own and code context never leaves your infrastructure.
  • Reviewers with the browser extension (Chrome, Edge, Brave, Arc) see theminside the diff on GitHub, GitLab or Bitbucket : a summary box on top, notes on the changed lines, image galleries, file previews, what changed since their last visit, one switch to hide everything.
  • Notes expire on their own (after a year by default). Files on disk or in any S3-compatible bucket (Backblaze B2, R2, S3, MinIO).
  • Up and running in a few minutes : a GitHub sign-in, one command for your agent, one extension (or one container of your own).

| Review faster | Reviewers read why a block changed before readinghow . Fewer “what does this do?” round trips. | | Context from the author | The agent that wrote the code explains it while it still knows the decisions and trade-offs. | | Screenshots in the diff | UI changes come with before/after or mobile/desktop shots next to the lines that caused them. | | Zero noise | Nothing is posted to the PR. The conversation stays for humans. | | Your data | Self-hosted, invite-only (or sign-up with GitHub), per-account access. Code context never leaves your infrastructure. | | Any agent, any team | One skill for every Agent Skills tool; one extension for several servers (teams, clients). |

On GitHub
Summary box above the files: the PR's summary, linked reports, a notes on/off switch, expand/collapse all.
Gallery : several images in one note (mobile + desktop), ← → to flip, Esc to close.
Previews of attached.md ,.csv and.txt files, rendered in place.
Live demos : a small.html file runs in a locked sandbox under its note (no network, no access to GitHub); expand it at phone, tablet or desktop width.
Floating dock once you scroll: note count, notes switch, summary popover. Long notes getshow more / less .
In the app
Every annotated PR, with its notes and attachments.
Accounts with roles (owner, admin, member), invitations, repositories, storage per repository.
Super admin : users, accounts, uploads, disk, and where files are stored.

On the free server, about 3 minutes:

  1. Sign in atdiffnotes.dev with GitHub: you get a team account to invite people into.
  2. Add the extension from theChrome Web Store (Edge, Brave and Arc too). It opens a tab:Sign in and connect →allow . Nothing to copy.
  3. Set up your agent (Claude Code, Codex, Cursor, any Agent Skills tool):diffnotes.dev/welcome gives one command with your token in it. Run it once.
  4. On a branch with an open pull request, ask your agent: “annotate this PR with diffnotes” , then open the PR'sFiles changed tab.

No skills in your agent? Use the MCP endpoint instead: claude mcp add --transport http diffnotes https://diffnotes.dev/mcp --header "Authorization: Bearer $DIFFNOTES_TOKEN" (more).

Code that must not leave your company: one container and a volume, on any Docker host.

docker run -d -p 3000:3000 -v diffnotes:/data \
  -e ADMIN_EMAIL=you@your-company.com -e PUBLIC_URL=https://diffnotes.your-company.com ghcr.io/igorkasyanchuk/diffnotes
docker logs <container> | grep "first admin"        # the generated password

Put it behind HTTPS, then follow the quick start with your server's address. Docker Compose, Coolify, Render, Fly.io and Railway: deploy; every setting: install & configure.

| Install & configure | Docker, environment variables, first admin, password reset, upgrades, backups | | Deploy | Docker Compose, Coolify, Render (one-click), Fly.io, Railway; one instance only | | Agent skill | Install, token, how the agent writes notes, payload format, allowed files | | Browser extension | Install (Chrome, Edge, Brave, Arc; Firefox and Safari as developer installs), several servers, GitHub / GitLab / Bitbucket, what you see, troubleshooting | | Accounts & roles | Owner / admin / member, invitations, repository rules, super admin, overview pages | | File storage | Disk or S3-compatible (Backblaze B2, Cloudflare R2, AWS S3, MinIO), expiry | | Security | Access model, upload checks, sandboxing, tokens, secrets; report a vulnerability: SECURITY.md | | API | The HTTP API the skill and the extension use | | Development | Stack, layout, commands, code rules | | Changelog | What changed in each version; releases are tagged vX.Y.Z | | Privacy ·Terms | What the extension and a server keep; the license and the hosted service's terms (every server serves both) |

Issues and pull requests are welcome: open an issue for a bug or an idea, and see AGENTS.md for the stack and the checks to run. Security reports go privately: SECURITY.md. If DiffNotes saves your reviewers time, a ⭐ helps other people find it.

MIT: use it, change it, host it, sell it; keep the copyright notice. Terms of the hosted service: diffnotes.dev/terms.

── more in #ai-agents 4 stories · sorted by recency
── more on @diffnotes 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
→ Live at https://your-agent.zahid.host ✓
Get free account → Pricing
from €0/mo · no card required
LIVE [news/diffnotes-lets-your-…] indexed:0 read:5min 2026-10-31 · —