A true story, recorded in the repo

The browser was never the hard part.

The hard part was giving an AI enough context to know what happened—without making a human narrate every pixel.

Run the story
01 · First, give the agent hands

A browser an agent could actually use.

ThinkRun began as browser automation: sessions, navigation, clicks, forms, screenshots—the mechanics of operating the web. Local mode connected an agent to real Chrome through a bridge and extension. Cloud mode spun up browsers on demand. The interface got simpler. The system underneath did not.

https://the-web.example / a-real-browser
Execution log · live
01

NAVIGATE
Open the checkout flow

02

CLICK
Select “Continue”

03

THINK
Verify the resulting state

04

SCREENSHOT
Capture evidence

02 · Then reality arrived

Browsers are chaos wearing a rectangle.

A production browser is redirects, expiring sessions, delayed machines, broken selectors, shadow DOM, console errors, network failures, and state that changes between the screenshot and the click. One early battle test climbed from 40% to 100% only after fixing cost limits, no-action retries, and a one-word API field mismatch.

thinkrun · recovery loop● connected
$ thinkrun run "finish checkout"

[observe] page changed after redirect
[act] click selector=#continue
[warn] target detached from DOM
[recover] refresh snapshot
[act] click role=button name="Continue"
[verified] /confirmation loaded

✓ task complete
03 · The numbers are scars

Built in public—to itself.

Every failure became a test, a protocol, a recovery path, or a memory page. The development archive does not read like a victory lap. It reads like a browser session: attempt, observe, correct, verify.

553merged PRs found in the woven commit history
161indexed pages in the development memory wiki
35documented tools in the MCP local-mode snapshot
18review rounds hardening one MediaRecorder hook

Sources: memory/MEMORY.md · memory/threads/pr-merge-log.md · memory/mcp_local_mode.md · memory/media_recorder_hardening.md

04 · A product learns what it is

The long way around was the point.

February 2026 · Hands

Make the agent reliable.

The executor adopted a snapshot–act–verify loop. A ten-task Browse API battle test reached 10/10. Sessions survived cold starts and machine routing.

March–May · Memory

Make failure cumulative.

Hard-won fixes became operating knowledge: storage quirks, session isolation, retry boundaries, browser walls. The repo started remembering so the product would stop relearning.

June 17 · Eyes

Record the browser itself.

In-page screen recording shipped to production. Voice, screen, and browser evidence could become one artifact instead of a bug report assembled from fragments.

June 30 · Humility

Smoke the headline.

The install command featured on the homepage was tested clean—and found broken for every new user. It became a standing lesson: test the promise, not the implementation.

July 8 · Meaning

Stop selling the plumbing.

The homepage pivoted around the recorder workflow. The breakthrough was no longer “an AI can click.” It was “you can show an AI what happened.”

The moment everything changed

The browser didn’t need a better pilot.

It needed a flight recorder—one that an agent could read.

05 · Context becomes the product

Record it once. Explain it never.

A human can point, speak, and move through the real interface. ThinkRun keeps the moments together: the video, the click, the element, the console line, the request, the state before and after.

The artifact is useful twice. A teammate can replay the story. An agent can consume the structured evidence and propose the change—inside the workflow, with the human still the editor.

06 · This is ThinkRun

Software can finally show its work.

The web gave us screenshots. Then screen recordings. ThinkRun turns the recording into working context for the next intelligence in the loop.

ThinkRun · Screen recorder for AI agentsEvery number on this page is sourced from the repository memory wiki.