Find out why users leave your site, from inside Claude Code
UserProof is a Claude Code plugin and a small JavaScript snippet. It finds where visitors get stuck, shows the sessions that prove it, and names the file and line to fix.
- Set up in about 4 minutes, from the terminal
- Free for 3 analyses a month
- Typed text is never recorded
/plugin marketplace add rdoyle99/userproof
/plugin install userproof@userproof
/userproof:setup
Then answer one question: your email.
Install from a terminal instead
claude plugin marketplace add rdoyle99/userproof && claude plugin install userproof@userproof
Then run /userproof:setup inside Claude Code.
Works with any site you can add a script tag to: Next.js, Vite and React, Astro, SvelteKit, Nuxt, static HTML, Rails. Requires Claude Code.
Real finding on pie-chart-generator.com, one of our own sites. Output trimmed.
Three steps, all in your terminal
Install and set up
/userproof:setupcreates your account (it asks only for an email), adds the snippet to your site's layout, and confirms the first recorded event in about a minute. A local dev server is enough.See the proof
Setup ends with a free, read-only scan of your live site for dead buttons, broken links, slow responses and load errors. Once real visitors arrive, it finds where they get stuck, with the sessions that show it.
Verify your fix
You get one top fix with the evidence. After you ship it, UserProof re-scans the live site, then checks visitor data, and tells you whether it worked.
In our own test on 3 of our sites, agent-driven setup took a median of 4.2 minutes. Time from signup to first recorded event: 0.6 to 1.3 minutes.
What it finds
Four kinds of stuck, each tied to recorded sessions and, when it can, to a line in your repo.
Counts come from recorded events. Your coding agent writes the explanation and the fix; it never produces the numbers.
What gets recorded, and what does not
What visitors type into a field is never recorded. We keep the field name and whether it had a value. Page addresses are stored without the query string or hash. Add data-exclude to any element to mask its text and drop events inside it.
The snippet sets no cookies and does no cross-site tracking. Raw events are kept for 30 days. Bots and browser automation are dropped when events arrive. Read the privacy policy.
Pricing
An analysis is one top-fix run. Recording, scans of your site, setup and fix checks never count against your cap.
Free
3 analyses a month
- Full recording and site scans
- Setup and fix checks included
Pro
30 analyses a month
- Everything in Free
- When you hit the cap, your agent shows an upgrade link
Questions
Does it need Claude Code?
Yes. The plugin runs inside Claude Code, and so does everything it tells you.
Can I just ask Claude to read my code for bugs?
Yes, and it will catch what the code shows. It cannot see what visitors did. UserProof adds recorded clicks and sessions, so each fix comes with evidence and a way to check it afterward.
What if my site has no traffic yet?
You still get the free scan of your live site on day one. Findings from visitor behavior start once real visitors arrive.
Does the recording capture what people type?
No. Field values are never recorded. Text you select or copy on the page is recorded up to 200 characters, and data-exclude keeps any area out.
How long is data kept?
30 days for raw events.
Are the numbers generated by an LLM?
No. They are counted from recorded events.
What counts toward the monthly cap?
One analysis, meaning one top-fix run. Setup, recording, site scans and fix checks do not count.
Run it on your site today
Paste the three lines into Claude Code. The first scan is free.