Exploratory AI testing · EU-hosted

Your coding agent believes its own code works. ClickProbe doesn’t.

A second pair of eyes that actually clicks through your app. Claude drives a real browser through a tiny local proxy, explores like a human, and reports the bugs your agent didn’t notice.

No credit card. Runs against localhost.
LIVE / billing.acme.internal / Team settings
Step 14 of ~30 · 04:12 elapsed
Target · Chromium 128 · 1440×900
https://app.acme.example
Settings · Team · Billing

Billing contact

Invoices and payment failure notifications are sent here.

Saved. Your billing contact has been updated.
Click observed at button[type=submit] · y=612
Claude · reasoning
›
›
›
›
›
›
›
›
›
Bug filed
Medium CP-2041 just now
OPEN

Phantom save on “Team billing contact”

PATCH /api/v2/orgs/acme/billing · 200 OK · 0 B

Clicking Save shows a success toast, but the value is discarded on refresh. The PATCH request returns 200 with an empty body; no record is written.

Repro
  1. Open /settings/team → Billing contact
  2. Change email to a new value, click Save
  3. Hard refresh — field reverts to previous value
The gap

Your coding agent believes its own code works.

AI coding agents are confident. They ship. They rarely click through the app they just built. ClickProbe does — click by click, patiently, on every PR. Three patterns we find most:

button · disabled-variant
Failure mode · 01

The broken button

Handler wired to the wrong variant. Button renders, clicks do nothing. No console error.

PATCH · 200 · 0 B
Failure mode · 02

The phantom save

Toast says “saved”. Network call returns 200. The value is silently discarded on refresh.

TypeError · uncaught
Failure mode · 03

The silent JS error

Uncaught TypeError only on a specific path. Users see a blank panel; your tests don’t.

How it works

Cloud brain. Local hands.

CLOUD Cloud · Claude Gunzenhausen · EU Loopback tunnel YOUR MACHINE Your machine · Chromium 127.0.0.1 only
  1. 01

    Install the proxy

    One command. A small Go daemon runs on localhost, serves a tunnel, manages a headless Chromium.

    curl -fsSL https://clickprobe.ai/install.sh | bash
  2. 02

    Point it at your app

    Any URL your machine can reach — localhost, a preview deploy, a staging tunnel. No data leaves your network except screenshots and DOM snapshots.

    Dashboard → New project → Target URL: http://localhost:3000
  3. 03

    Watch it explore

    Claude reasons step by step, you watch it click, type, scroll. Every decision is logged. Bugs land in your inbox with repro steps and screenshots.

    → Opens /settings/team → fills form → clicks Save…
The report

Not a stack trace. A bug report.

Every finding includes what was expected, what happened, the exact steps a human could follow to repro, and the AI reasoning trail behind the decision to file it.

Medium CP-2041 just now
OPEN

Phantom save on “Team billing contact”

PATCH /api/v2/orgs/acme/billing · 200 OK · 0 B

Clicking Save shows a success toast, but the value is discarded on refresh. The PATCH request returns 200 with an empty body; no record is written.

Repro
  1. Open /settings/team → Billing contact
  2. Change email to a new value, click Save
  3. Hard refresh — field reverts to previous value
Expected / Actual
Expected Field retains submitted value after reload.
Actual Field reverts; no record persisted server-side.
Integrations

Your coding agent can ask ClickProbe directly.

Expose findings over MCP. Claude Code, Cursor, or your own agent can query the latest run, request a retest, or open a GitHub issue — all in-editor.

claude_desktop_config.json
{
  "mcpServers": {
    "clickprobe": {
      "command": "clickprobe-proxy",
      "args": ["--agent-stdio"]
    }
  }
}
.cursor/mcp.json
{
  "servers": {
    "clickprobe": {
      "type": "stdio",
      "command": "clickprobe-proxy",
      "args": ["--agent-stdio"]
    }
  }
}
Pricing

Pay for what you test.

No seats tax. No lock-in. VAT shown at checkout.

Solo
€0/ month

Pay-per-session, no monthly fee. Community support.

Start free
Pro
€149/ month / project

Higher usage ceiling. Webhooks with bi-directional GitHub sync.

Get started
EU-hosted
Gunzenhausen, Germany
GDPR-first
AVV template available
Made in Germany
Built in Leipzig
Loopback proxy
Your code never leaves your machine

Start finding the bugs you’re missing.

Free while you evaluate.

Create a free account