$ vizzly tdd run "npm test" 14 screenshots compared ◐ 1 visual change checkout 1.02% → vizzly tdd start --open
Catch it on your machine
Run your tests locally and get a report of what changed. No account needed.
Catch UI regressions before they ship. Give your agent the screenshots your team approved and the comments that explain what changed.
$ vizzly api schema sdk.getBuildContext --json ↳ GET /api/sdk/context/builds/{buildId} · Vizzly-API-Version: 2026-09-12 $ vizzly api /api/sdk/context/builds/abc123 \ -H 'Vizzly-API-Version: 2026-09-12' -q limit=10 --json { "resource": "build_context", "build": { "id": "abc123", "status": "completed", "visual_review": { "state": "pending" } }, "summary": { "comparisons": { "total": 1, "pending": 1 } }, "evidence": [{ "type": "comparison", "id": "cmp456", "name": "checkout", "result": "changed", "review_state": "pending" }], "page": { "returned": 1, "has_more": false } }
This is the same review screen you'll use in Vizzly, so click around! Red shows what changed. Flip to Toggle to see the baseline, then approve or reject.
Checkout
Back up every paw print.
Family plan
Checkout
Back up every paw print.
Family plan
Plans for every pack
Plans for every pack
You're all set.
You get the same baselines and decisions everywhere, and your agent can read them through the API.
$ vizzly tdd run "npm test" 14 screenshots compared ◐ 1 visual change checkout 1.02% → vizzly tdd start --open
Run your tests locally and get a report of what changed. No account needed.
Checks 2
Vizzly visual review
1 changed screenshot needs review
test unit
Passed in 48s
Your team approves or rejects each change, and the PR check updates when you're done.
$ vizzly context build current \ --source local --json { "name": "checkout", "result": "changed", "review_state": "approved" }
Agents find what they need through the API schema, so they know what changed and what you decided.
It's free to start, and it stays free for open source.