// features

No test code.
No brittle selectors.

Two test modes. Structured failure reports. GitHub, Slack, and Linear built in. An MCP server for AI coding agents.

01

Write a goal.
We figure out the rest.

A real Chromium browser opens. The agent navigates your app exactly like a user would. No selectors, no scripts, no setup required.

  • No SDK. No config. Point it at any URL.
  • Finds what a user would find, not what you wrote selectors for
  • 25 steps max. Most runs finish in under 90 seconds.
  • Vision-based. Survives redesigns and DOM changes.
Test goal

“Make sure a new user can sign up, verify their email, and reach the main dashboard.”

00:02navigated to /signup
00:05located email input field
00:07filled: user@example.com
00:09filled password field
00:12clicked “Create Account”
00:18verify button not found — FAILED
FAILED6 steps · 18.4s · goal not achieved
checkout_flow_v2 · DeterministicPASSED
#ActionStatus
01navigate /checkoutPASSED
02fill card number fieldPASSED
03click Place order buttonHEALED
04assert Order confirmedPASSED
HEALED

Selector [data-testid="place-order"] failed. Vision model found “Place order” button at new position. Selector updated automatically.

02

Exact steps.
Self-healing selectors.

Write each test step in plain English. AI generates the Playwright actions. When your UI changes and a selector breaks, the test fixes itself.

  • Write in English. Traceback writes the Playwright.
  • When a selector breaks, a vision model finds and repairs it
  • HEALED means the test adapted. No false failure. No manual fix.
  • Full version history on every test definition

03

Not pass/fail.
The actual fix.

Every run produces a structured report. The important part isn't that something failed. It's the specific cause and what to do about it.

  • Step-by-step timeline with screenshots at each action
  • Specific suggested fix describing what broke and what to change
  • DOM snapshot at the moment of failure
  • Regression comparison against prior runs
  • Session video recording of the full browser run
  • In-report AI chat with full run context
  • Push to GitHub Issues or Linear. One click, no copy-paste.
Run report tabs
Overview
Activity
Session Video
Reports
Chat
HIGH SEVERITY
Verify email button not interactable
ConfirmEmail.tsx:47

Button rendering as <span> — check conditional render path.

GitHub · PR #241 · feat/checkout-redesign
traceback-botjust now
user_signup_flow2m 04s · 12 steps
login_and_dashboard45s · 6 steps
checkout_flow_v223s · failed step 4
traceback / checkout_flow_v2Failing — merge blocked

04

Bugs caught in PR,
not in production.

Connect Traceback to your repo. Every PR triggers a test run against the preview deployment. Results post as a comment before anyone reviews.

  • Runs automatically on PR open and push
  • Posts pass/fail per test as a PR comment
  • Set as a required status check to block merges on failure
  • PR runs tagged separately, don't pollute test history

05

Your AI agent ships
a feature. Traceback tests it.

Traceback exposes a Model Context Protocol server with five tools. Any MCP-compatible agent (Claude Code, Cursor, Devin) can run tests and fix bugs autonomously. No human in the loop.

  • Five tools: create_test, list_tests, run_test, get_report, debug_failure
  • Structured failure reports designed for agent consumption
  • debug_failure returns a structured failure report with a fix suggestion
  • Same infrastructure as human-triggered runs
agent.ts
// agent writes feature, deploys, tests, fixes
const report = await mcp.call("run_test", {
  id:  "checkout-flow",
  url: env.PREVIEW_URL,
});

if (report.status !== "passed") {
  const fix = await mcp.call("debug_failure", {
    runId: report.id,
  });
  // fix.file  → "ConfirmEmail.tsx"
  // fix.line  → 47
  // fix.hint  → "conditional render"
  await applyFix(fix);
}
// merge if tests pass
#eng-alerts · Slack
traceback2:41 AM
checkout_flow_v2 failed on main
Step 04 — verify button not interactable · View report

06

Failures go where
your team works.

When something breaks you hear about it immediately, with enough context to act. Not just a ping.

  • Slack: failure alerts with inline push buttons, pass notifications off by default
  • Linear: one-click ticket creation with severity, fix hint, and report link
  • GitHub Issues: same, with screenshot attached
  • Notion: sync issues for teams that live in Notion
  • @traceback run [test name] works as a Slack command

07

Test localhost
before you push.

The agent runs in the cloud. Localhost doesn't exist from there. The CLI opens a secure tunnel so your local dev environment is reachable.

  • npx traceback dev --port 8000: opens tunnel, runs test, closes
  • traceback run [test-id]: trigger any test from terminal
  • traceback credits: check usage
  • Integrates into any CI pipeline via environment variables
terminal
$ npx traceback dev --port 8000
 
Tunnel opened → https://tb-7x2k.traceback.dev
Running: checkout_flow_v2
 
Step 01/06 navigate to /signup ... PASSED
Step 02/06 fill email field ... PASSED
Step 03/06 fill password field ... PASSED
Step 04/06 click verify button ... FAILED
 
FAILED · 1 issue · 23.4s
Report: https://app.traceback.dev/runs/tb_8x4k2m
 
Tunnel closed.
Suite · Nightly Regression
ScheduleEvery day at 2:00 AM
Tests6 test definitions
Last runFailed · 2h ago · 1 issue
user_signup_flow
checkout_flow_v2
password_reset
billing_integration
marketing_home_hero
settings_preferences

08

Runs at 2 AM.
Alerts you at 2:01.

Group tests into suites and trigger them on a schedule, on every deploy, or on every PR. Wake up to a Slack message. Not a user complaint.

  • Cron-style scheduling: nightly, hourly, custom
  • Deploy webhooks: fires when any deployment completes
  • PR-scoped suites: runs only tests relevant to the diff
  • Suite-level pass/fail reported as a single status check

Stop clicking.
Start shipping.

Get set up in under 10 minutes.

Free to start · No credit card required