7 days or 10 hours free · no card

code reviewbefore your agent says done.

plottypus watches your Claude Code session, checks every “done” against what actually ran, and sends the agent back when it doesn’t hold. Fewer comments, each with proof.

curl -fsSL https://plottypus.com/install | sh
Concept film · 28 seconds

it said done. it wasn’t.

Coding agents grade their own work, and each of these reads like a pass until someone checks the session.

  • All tests pass.The tests were not rerun after the last edit.
  • Fixed the failing test.The test was rewritten until it passed.
  • Done. Feature complete.A stub was presented as finished.

watch it catch one.

The agent says all tests pass; plottypus checks the session, the rerun fails, and the agent fixes it before you look.

  1. 01followReads every edit and command as Claude Code works.
  2. 02checkHolds each claim up against the session.
  3. 03tellTells the agent what does not hold, with the proof.

Order totals use Money · shop

money-totals

make order totals use the money type

Editedcart/total.ts+21−9
Ranpnpm test cart43 passed
Editedcart/checkout.ts+6−4
Editedcart/total.ts+4−2
Editedcart/total.test.ts+3−3

Done. All tests pass.

plottypus to the agent

Tests not rerun since the last 3 edits. One of those edits changed a test.

You're right, I did not rerun them. Running the cart tests again.

Ranpnpm test cart2 failed41 passed

The total is rounded on every line, then summed. Rounding belongs on the order.

Editedcart/total.ts+1−1
cart/total.ts· 1 change+1−1
export function orderTotal(lines: Line[]): Money {
removed: return sum(lines.map((l) => round(lineTotal(l))));
added: return round(sum(lines.map(lineTotal)));
}
Restoredcart/total.test.ts+3−3
Ranpnpm test cart43 passed

Fixed. Rounding happens once per order, and all 43 tests pass.

Reply…
Concept. The work shown is an example.

one comment. with proof.

You get the finding that broke the work, with its file, its line and the run that shows it. Style and naming stay out.

review.md1 finding

Found · cart/total.ts:12

Order totals are rounded per line, not per order.

Claimed
Done. All tests pass. Did not hold
Proof
$ pnpm test cart
✗ checkout › charges the order total
  expected 59.97 EUR, received 59.98 EUR
✗ checkout › refund equals the charge

Tests  2 failed · 41 passed (43)
Fixed
Rounding moved to the order, in the same session. Rerun: 43 passed

Not sent4 comments

  • Consider renaming l to line for clarity.naming
  • Prefer an early return in orderTotal.style
  • Add a doc comment to the Money type.taste
  • Line 48 is longer than 100 characters.lint has it

Style, naming and taste stay out of the report and out of the agent’s way.

Illustration

why wait for the pull request?

By the pull request the agent has stopped and its context is gone; during the session, the same agent can still fix it.

Review at the pull request compared with review during the session
At the pull requestDuring the session
SeesThe finished diff.The request, the plan, every edit and every command.
WhenAfter the agent has stopped.While the agent is still working.
Who fixes itA new session, with the context gone.The same agent, in the same session.
What it saysThe finished diff, without the session.Only what breaks the work, with its evidence.
Who it talks toYou, in comments to read.The agent. You get one short report.

Last run 14 Oct 2026

we test it. then we show the work.

Every number has its date, its set and its size.

3rd of 8 code-review tools on the public Martian benchmark, ahead of CodeRabbit, GitHub Copilot and Claude Code's own review. Same pull requests, same judge.

  • Same languages we tuned on

    9 of 11serious bugs found, on average over 4 passes

    82%, range 8 to 10 across passes, on 18 public pull requests; no tuning rule was written from them.

    14 Oct 2026 · validation set · n = 11 · 4 passes

  • Our own synthetic tests

    39.5 sfrom the mistake to the message to the agent, median

    16 of 18 planted mistakes caught, with 0 false flags in 2 clean sessions.

    14 Oct 2026 · our own 15 scripted sessions · n = 18 · 1 pass

  • One real session, replayed twice

    $1.25an hour of live review, in model cost, on average

    $1.22 and $1.28 an hour across the two replays. Dollars are tokens at list price.

    14 Oct 2026 · 1 session · 2 replays

The full report has every run, the method behind it, and what we're improving.

what changed recently.

What we built and measured, each with its date. Then the questions people ask before they start.

  1. The free trial is open to everyone: sign in, paste one install line, and live review of your Claude Code session starts. See the trial and the plan

  2. The plottypus app on your machine was rewritten in Rust: a one-line install, and sign-in through the browser.

  3. Ran the held-back test once, on 20 Go and Java pull requests we never tuned on, and published the result with its misses. Read how we test it

  4. First scored run on a public code-review benchmark, with 20 of the judge’s decisions checked by hand.

questions.

What is plottypus, in one sentence?

AI code review for coding agents. It follows your Claude Code session while it works, checks every "done" against what actually ran (for example whether the tests ran after the last edit), and sends the agent back when it does not hold; the agent reruns the tests. Serious problems go to the agent at its next step, everything else into one review file. Fewer comments, each with proof.

How is it different from an AI code review tool on pull requests?

A pull request tool sees the finished diff. plottypus sees the whole session: what you asked for, the plan, every edit, every command and its output. So it can tell that tests never ran after the last edit, and it can tell the agent while the agent still remembers why it wrote the code.

What does plottypus read from my repo and session?

It follows your Claude Code session: what you ask, each edit, each command and its output, and when it says done. The reviewer reads the files it needs to check a change. Before anything leaves your machine, the CLI removes API keys, tokens, passwords and private keys, and it never reads .env files, key files, SSH or cloud credential folders, or anything your .gitignore ignores.

Can I try plottypus now?

Yes. Sign in, paste one command into your terminal to connect your machine, and your trial starts: 7 days or 10 hours of live review, whichever comes first. No card needed. Keep using Claude Code exactly as you do now; the reviewer follows along.

Which coding agents does it work with?

Claude Code. You keep using it exactly as you do now, with the same prompts and the same permissions, and the reviewer follows along while it works. Tell us which other coding agents your team uses, so we know which to build for next.

How do I start, and why sign in?

Sign in on plottypus.com; an email link is enough. Your trial and your machines live in your account, so we know whose reviews are whose. It sets sign-in cookies on this site; the cookies and analytics are listed on the privacy page. You can delete your account at any time.

Read all 16 questions

make the next done true.

Start a free trial: 7 days or 10 hours, no card. Or book 20 minutes and tell us about the last false done.