The browser was never the hard part

We gave it a memory.

This is the story of building an agent that could use the web—and discovering that the real product was proof.

Scroll to run
The original question

What if you could hand off the browser and get back more than “done”?

Agents could already click. They could already type. But when the tab closed, the work vanished into a sentence. No evidence. No continuity. No way to learn from the run.

So ThinkRun became more than remote control: a shared surface where humans and agents can see, interrupt, capture, replay, and improve the work together.
01 / CONTROL

First, make the browser move.

A plain-English task becomes a sequence of real actions: navigate, inspect, click, fill, extract. Run it in the cloud, or let the agent work inside the Chrome session you already trust.

One command · web, CLI, or API
thinkrun local navigate https://example.com
$ thinkrun local navigate example.com
→ connecting to your Chrome…
✓ tab attached
✓ page loaded

$
02 / EVIDENCE

Then, make the work visible.

Every action became a receipt. Screenshots, structured snapshots, network activity, outputs, and the full sequence—so a person can inspect what happened and an agent can continue where another left off.

Audit mode · action by action
Live activity · checkout research
navigate /pricing
snapshot captured
click “Compare plans”
extract pricing table
evidence saved
03 / RECORD

The human became the prompt.

Sometimes the fastest way to explain a workflow is to do it once. Recording turned clicks, keystrokes, screen, and spoken intent into durable context an agent could act on.

Shipped to production · June 17, 2026
● REC
clicks + keysscreen + voiceintent + context
04 / MEMORY

The mistakes stopped disappearing.

Every outage, review round, browser wall, and hard-won fix became linked memory. Not a glossy retrospective—a working system the development agent reads before it changes the product again.

Living memory wiki · generated from the work

161

indexed memory pages at this story’s source snapshot

Browser wallsWhat broke, why, and the workaround.
Review disciplineA fix is not done until it is proven.
ArchitectureThe boundaries that keep control reliable.
User feedbackRecordings become product decisions.
The breakthrough wasn’t teaching an agent to click. It was teaching the work to leave a trace.
The idea ThinkRun kept returning to

The beautiful
mess of shipping.

Every number here comes from the repository’s code, docs, or generated memory index. The scars are part of the product.

100 → bounded

A 100 DOM-snapshot cap rejected long recordings. It was raised and the downstream work was bounded on June 18, 2026.

30m

The autonomous heartbeat interval documented in the operating guide.

3

Ways to give ThinkRun a command in the product story: web, CLI, or API.

1

Real Chrome session—with your cookies, tabs, and extensions—when working locally.

18

Review rounds documented while hardening the screen-recording lifecycle against races and edge cases.

The next run starts here

Hand off the browser.
Keep the proof.

ThinkRun is the shared record of work between you, your agent, and the web: observable while it happens, useful after it ends.

Run something

Source notes: CLAUDE.md · memory/MEMORY.md · memory/recording-domsnapshots-cap.md · memory/prd-0089-web-recording.md · memory/media-recorder-hardening.md · frontend/tailwind.config.js