The verification agent for your coding agent.

QAgent is a verification layer for Claude Code, Codex, and other agentic dev loops. Hand it one product-level goal, it drives the browser, and returns a clean pass/fail with the evidence your coding agent can actually use.

See a live run ↓

Why not just have the coding agent drive Playwright?

You can. It works. It also burns context, slows the loop, and the verification gets flakier the longer the run gets.

  • Context bloat

    Every browser turn, DOM dump, and selector retry lands in your coding agent's context. By the time it's done verifying, it's worse at building.

  • Weaker focus

    The agent is now juggling two jobs — write the feature and QA it. Neither gets your full model.

  • Flakier verification

    Long agentic runs drift. By turn 30, the agent is guessing selectors, retrying flaky steps, and reporting "looks ok" when it isn't.

QAgent runs the browser turns in a separate loop. Your coding agent gets back a short, structured verdict — not a 40-turn transcript.

Structured feedback, not just a green check.

Every run returns a verdict your coding agent can act on: the goal it tried, the steps it took, the final URL, and the evidence behind the call. Easy to paste back into Claude Code or Codex so the next turn already knows what to fix.

A PASS means QAgent reached the goal and captured supporting evidence. A FAIL means the goal did not complete, or QAgent observed unexpected results — the verdict explains which.

QAgent pass evidence for a Sauce Demo cart flow showing successful login, backpack added to cart, and cart badge verification.
QAgent fail evidence for a Sauce Demo checkout flow showing missing confirmation evidence and a failure note for review.

Run one yourself.

Plain-English goal → real browser → verdict. The same flow your coding agent uses.

session_runner_v1
GoalSauce Demo

Describe what should work after your change. QAgent will try it in a real browser and tell you if it does. (Hosted demo is locked to saucedemo.com.)

Maximum 500 characters.

Enter a Sauce Demo goal before running the demo.

Waiting for QAgent to start.

Verdict
--
Duration
0.0s
Turns
0
Cost
$0.00

How your coding agent calls it.

One CLI call. The verdict comes back as a short summary the next agent turn can paste in and act on.

claude_code_session
$ claude
> implement the cart-badge update on add-to-cart
… diff applied …
> qagent verify "user can add an item and see the cart badge increment"
  ↳ running… ✓ PASS  (47.3s · 8 turns · $0.08)

What QAgent is — and isn't.

QAgent is for

  • Fast goal-based verification during agentic dev
  • One-shot "does this feature work right now" checks
  • Feeding structured results back into Claude Code / Codex
  • Keeping the coding agent's context focused on building

QAgent is not

  • A Playwright replacement
  • A regression suite
  • A CI gate on every commit
  • A place to write durable, deterministic test specs

Keep Playwright for the long-lived regression coverage. Use QAgent for the inner loop, while you're still building.

Frequently asked questions

What is QAgent?
QAgent is an open-source verification layer for AI coding agents. You hand it one product-level goal in plain English; it drives a real browser, verifies the goal, and returns a structured pass/fail verdict with evidence your coding agent can act on.
How does QAgent compare to Playwright or Cypress?
Playwright and Cypress are long-lived test frameworks built for deterministic, scripted regression suites. QAgent is a fast, goal-based verification loop for active development — one CLI call, one plain-English goal, one structured verdict. Use both: QAgent inside the agentic dev loop, Playwright for the regression coverage that ships with the product.
Does QAgent work with Cursor, Claude Code, or Copilot?
Yes. QAgent is a CLI, so any coding agent that can shell out — Claude Code, Codex, Cursor, Copilot CLI, Aider, custom agents — can call it and read the verdict back from stdout.
Is QAgent a replacement for my regression test suite?
No. QAgent is built for the inner loop, optimized for fast feedback while you are still building. It is not a CI gate, not a deterministic regression suite, and not a place to store durable test specs. Keep Playwright or Cypress for that.
What does a QAgent verdict look like?
A structured object with the goal, the steps QAgent took, the final URL, elapsed time, turn count, model cost, a one-line evidence quote, and a clear PASS/FAIL status. Easy for a coding agent to paste back into context and iterate on.
Can I run QAgent on my own site, or only Sauce Demo?
The CLI runs against any site you can reach from your machine. The hosted demo on this site is locked to saucedemo.com so the public sandbox stays safe — install the CLI to point it at your own app.
How much does QAgent cost?
QAgent itself is open source and free. You pay only for the underlying LLM tokens it uses while driving the browser, billed through whichever provider key you configure.

Built for devs in an agentic loop.

You use Claude Code, Codex, Cursor, or a similar agent. You ship a change every few minutes. You don't want to babysit Playwright inside the coding run, and you want a fast, honest answer to "does the thing I just built actually work?" — that's the loop QAgent is built for.

install

Try it on the hosted demo.

One goal box, one real browser run, Sauce Demo as the sandbox. No signup.

Run the demo ↑