thcThought Control

Replay.io

Deterministic browser recordings an agent can debug at any execution point.

replay.io ↗repo ↗docs ↗Replay MCP tool reference ↗How does time travel work ↗Pricing ↗replay-cli (npm replayio) ↗Replay Chromium fork ↗

license
NOASSERTION · Mixed: devtools frontend is MPL-2.0 (code adapted from Firefox) + BSD (Replay-written files); replay-cli npm package BSD-3-Clause; Chromium fork BSD-3-Clause. The recording/replay backend and the MCP server (https://dispatch.replay.io/nut/mcp) are a proprietary hosted service. Effectively proprietary SaaS with open clients.
language
C++ (instrumented browser runtime), TypeScript (devtools, CLI)
backing
Replay.io, venture-backed startup founded by ex-Mozilla Firefox engineers (Brian Hackett). Funding amount not verified. Product now centred on 'Replay QA' (autonomous app testing), with time-travel recordings as the engine.
stars
722 (as of 2026-10-09)
downloads
4,276/week npm replayio CLI (2026-10-01..07)
latest release
replayio (CLI) 1.9.1, 2026-09-01
first release
2021-06
borrow

Different domain (debugging arbitrary JS runs in the cloud) but the best existing model of what agents want to ask a history.

Borrow from it: take a specific idea, API or format.

the steelman: the best honest case for it

Replay is the strongest proof that agents debug better with time travel than with code reading: it records a whole browser's runtime inputs so the run is exactly reproducible, then hands the agent ~30 MCP tools addressed by execution point — evaluate any expression at any moment, read the stack, see which lines ran, ask why a React fiber re-rendered, read Redux state at a dispatch by path, screenshot the page at a timestamp, and send the human a link to that exact moment. It solved the hard problem (determinism for arbitrary, effectful JavaScript, not just pure Elm-style apps) and the agent-ergonomics problem (summary-first modes, every result carries points the next tool accepts). A fan would say: this is what 'agent-addressable time travel' means in practice, it already works with Claude Code today, and anything scene builds should match its readback depth.

scores
datadriveseeedittimeratetermpxteachmatureopen
UI as data0 scene 5Records arbitrary web apps; the UI stays code.
Agent can drive it3 scene 5Rich MCP, but over recordings, not a live instance.
Agent can see it5 scene 5Structured state at any point plus screenshots at any timestamp.
Small, targeted edits1 scene 5Only retroactive logpoints/evaluation.
Time travel4 scene 0Agent can read history and seek to any execution point; no fork or modified replay.
Live data rate0 scene 5Post hoc only.
Terminal native0 scene 5
Pixel graphics0 scene 4
Teaching2 scene 3GetPointLink and shareable recordings help explain bugs; no tour features.
Maturity3 scene 1
Openness1 scene 4Open clients (MPL/BSD), proprietary hosted core and MCP.

Replay.io scene now scene planned

how agents use it

How

Hosted MCP server (dispatch.replay.io/nut/mcp) with ~30 tools, plus agent skills (replay-mcp, replay-cli, replay-playwright). The agent records via `npx replayio record <url>` (a human reproduces, then closes the browser) or a Playwright run, then investigates by recording ID.

Wiring it in

Low: add the MCP server and skills to Claude Code/Cursor/Codex; requires a Replay account (free tier 25 credits/month) and uploading recordings to Replay's cloud.

Seeing the result

Very strong, structured: RecordingOverview, ConsoleMessages, UserInteractions, NetworkRequest, LocalStorage, DescribePoint (variables, executed lines, dependency chain), Evaluate, GetStack, ReactComponentTree at a time, ReduxActions action-state by path, Screenshot at a timestamp, InspectElement.

Small edits

No edits to the recorded program; the only 'writes' are retroactive logpoints and expression evaluation at a point.

History

Seek and read: any execution point or timestamp, for state, stack, DOM, screenshot, React tree, store state. No fork, no replay with modified inputs, no live control.

In short

The most capable agent-facing read-only time travel found: an agent can interrogate any moment of a past run, but cannot change or branch it.

architecture

Runtime replay, not session replay: a modified browser (Chromium fork, also a Node runtime) records the nondeterministic inputs to the JS engine (network, timers, events), so the recording can be re-executed exactly in the cloud. Any 'execution point' can then be reconstructed on demand: evaluate expressions, read stacks and variables, add logpoints retroactively, take screenshots, walk the React fiber tree. Recordings upload to Replay's backend; humans use Replay DevTools in the browser, agents use the hosted Replay MCP server, both against the same recording ID.

performance

No published recording-overhead or replay-throughput numbers found. Analysis is minutes-scale on first open; inherently post hoc.

adoption and upkeep

Adoption

Respected among frontend framework authors; modest CLI usage. Stars are for replayio/devtools. first_release is the npm replayio package creation date, used as a proxy.

Used by: Vercel / Next.js team (testimonial: 'Next.js 13.4 wouldn't have been possible without Replay', Tim Neutkens), Dan Abramov (testimonial)

Maintainability

Actively developed as a company product, but the open repos are peripheral and the company's focus has shifted from devtools to autonomous QA.

Releases: Continuous SaaS deploys; CLI 1.9.1 on 2026-09-01. Product Hunt launches 2026-07-20, 2026-08-17, 2026-09-08 (Replay QA). · Contributors: replayio/devtools 65 (GitHub contributors API) · Recent: replayio/devtools: ~6 commits in last 90 days (open-source frontend mostly quiet); Chromium fork pushed 2026-10-08; MCP docs current. · Bus factor: medium: company-run, closed core; viability tied to one startup's pivot to QA

weaknesses
and thc-scene

Overlap

Agent-addressable history: read state at a past point, screenshot at a time, shareable link to a moment. scene's planned state_at/screen_at/diff are Replay's DescribePoint/Screenshot for a terminal UI.

What scene would be reinventing

The agent-facing tool shape for history inspection (summary-first, point-addressed, drill-down modes). Replay has already iterated on what an agent needs to read from a past run; scene should copy the ergonomics, not invent them.

The gap it leaves

Replay cannot fork, replay with changes, or drive a live UI; it is web-only, cloud-hosted and closed. scene gives an agent live control plus seek/fork on a local, open, terminal UI whose determinism comes from architecture rather than runtime recording.

What to borrow

  • One universal address for moments (Replay: execution point; scene: message index / tx id) returned by every history call and accepted by every inspection call.
  • Tool modes: summary first, then detail, to keep agent context small.
  • GetPointLink: a human-openable link/command that opens the UI at the exact moment the agent is discussing.
  • Dependency chain ('why did this change'): scene can answer it exactly from its message log — which message and data-source update produced a node's value.
  • Retroactive logpoints analogue: evaluate a template/query against the state at every past message.
sources
  1. Replay MCP tools reference docs.replay.io
  2. Replay MCP overview docs.replay.io
  3. How does time travel work docs.replay.io
  4. Replay pricing replay.io
  5. About Replay replay.io
  6. Replay Time Travelogue: Nadia's Debugging with AI + Replay MCP replay.io
  7. replayio/devtools LICENSE (MPL-2.0 + BSD) github.com
  8. npm replayio registry metadata registry.npmjs.org
  9. replayio/chromium github.com