Point at the line.
Tell the agent.

Your agent just touched 14 files. In the terminal you're scrolling through diffs hoping nothing broke. Crit opens those changes in a browser — click line 47, type "this drops the refresh token", and the agent fixes it. You see exactly what changed, round by round.

$ brew install crit

Or download a pre-built binary from GitHub Releases.

Star on GitHub
See demo

Four review modes

Agents don't just write code.

They write plans, generate HTML pages, modify running apps. Each output needs a different review surface — and terminal diffs work for none of them.

FILES / MARKDOWN

Plans & docs

Your agent drafted a 300-line plan. In the terminal it's a wall of markdown. Crit renders it in the browser — comment on the section that's wrong, not the whole document.

Markdown render Per-line comments Diff every round
Review plans & docs →

BRANCH / PR CHANGES

Code

Your agent touched 14 files across your branch. Crit auto-detects the changes, shows syntax-highlighted diffs, and lets you comment on any line — like a PR review, but instant and local.

Syntax highlighting Stacked PRs Git, jj, sapling
Review code diffs →

RUNNING APP / DEV SERVER

Live

Your agent built a frontend and it's running on localhost. Crit proxies the page into a review surface — click the button that's misaligned, pin a comment to it.

Comment on DOM Automatic reload Interactive browser
Review running apps →

STATIC HTML ARTIFACT

Preview

Your agent generated a landing page as a static HTML file. Crit renders it in an iframe so you can click elements and comment.

Static HTML iframe Asset siblings served No dev server needed
Review HTML artifacts →

Every agent reads files. That's the whole protocol.

Crit writes a structured review file. Any agent that can read a file and run a command can use it — no API, no plugin framework, no vendor lock.

Connect your agent

$ claude plugin marketplace add tomasz-tomczyk/crit
$ claude plugin install crit@crit
Installed crit (skills: crit, crit-cli)

I review a lot of agent output.

Tomasz's photo

Hey, I'm Tomasz!

Staff engineer, 25 years of shipping code. When I started using AI agents full-time, the code generation was impressive — but I was spending more time re-reading terminal diffs than the agent spent writing the code. I kept missing things that a proper review surface would have caught in seconds.

So I built Crit. I use it on every feature I ship. It gets a new release every week based on feedback from engineers who live in this same loop.

What engineers say

The reviews from engineers who live in this loop.

A clean local UI to batch my feedback and iterate.

Crit saves me so much time reviewing Claude Code plans - instead of fumbling with line numbers or accidental sends, I get a clean local UI to batch my feedback and iterate, all without leaving my workflow.

Omer

Omer
Principal Engineer

Review and iterate on plans, down to specific sections.

I use Crit daily to tighten feedback loops with my coding agent. Being able to review and iterate on plans, down to specific sections, or entire spec folders has made AI-assisted development feel fast and controlled.

The integration into my Claude Code setup is seamless and just clicks.

Ullrich Schäfer

Ullrich Schäfer
Engineering Manager @ Pitch

It's like a pull request review but for your plan.

I've been using crit to review plans for some times. I use claude code in the command line without an IDE, so being to quickly check the plan with rendering is super nice.

The system allowing you to add comments is the killer feature: it's like a pull request review but for your plan.

On long, complex plans I used to ask Claude things like "on point 3., we should do X, drop point 7., ...". Using comments makes it more straightforward and easy to review later.

Vincent

Vincent
Senior Software Engineer

Genuinely game changing for agentic workflows.

Crit feels genuinely game changing for agentic workflows. It just works.

It fits into my setup with basically zero friction, and makes reviewing plans feel fast, natural, and way less annoying than pushing code to GitHub just to leave feedback. It's so easy to use I use it to give feedback to my agents every iteration of the process.

The collaborative features are still a little early, but they're already kind of amazing. This is the tool that makes me surprised that the major AI labs aren't building this into their harnesses themselves.

@vereisyaps

@vereisyaps
Tech Lead

Frequently asked questions

Why this over just asking the agent to review?

Because the agent reviewing its own output is the thing you're trying to escape. Crit puts you back in the loop. You see the lines, you point at them, the agent responds to specific feedback — not your fuzzy recollection of what you wanted.

Why this over a /review slash command?

Slash commands review once and dump prose. Crit gives you a persistent surface: comments stay attached to lines across rounds, round-to-round diffs show what actually changed, and unresolved threads stay unresolved until you say so.

Why a browser at all? I'm already in the terminal.

Because line-precise feedback on a 600-line plan is miserable in a terminal. Markdown rendering. Syntax highlighting. Click-and-drag selection. Same shape as a GitHub PR, no GitHub round-trip.

Why not just write a better prompt up front?

You will. You'll still want to push back on the result. The first prompt rarely lands; the second one — informed by what the agent actually produced — usually does.

Does anything leave my machine?

No, unless you click Share. Server binds to 127.0.0.1. Zero telemetry. Sharing uploads explicitly, to crit.md or your own self-hosted crit-web.

Does it work with my agent?

If your agent can read a file and execute a shell command, yes. Crit ships first-class plugins for Claude Code, Cursor, Copilot, Codex, OpenCode, Aider, Cline, Windsurf, Gemini and Qwen.

5-second install.

Single binary. No account, no config, no dependencies.

$ brew install crit

Or download a pre-built binary from GitHub Releases.