Skip to content

Solutions · CAPTCHAs and hand-off

When the agent gets stuck, you take one step.

The agent can try a visual CAPTCHA with its own vision. When it cannot, or a site wants a code from your phone, it sends you a link: you see the browser live, do the step, press Done.

browser_captcha_frames{}                         # where the challenge is
browser_captcha_inspect{frame: 1, selector: "…"} # a picture the agent's model can read
browser_captcha_act{capture: "…", action: "click", x: 120, y: 88}
# after three failed submissions:
browser_handoff{reason: "captcha", message: "Please solve the CAPTCHA, then press Done."}
browser_handoff_wait{id: "ho_…"}

How it works

01

No solving service

We do not bundle a CAPTCHA-solving service. The captcha tools give the agent's own model a clear view of the challenge and precise ways to act on it (tiles, sliders, text). Our instructions tell the agent to check after each attempt and to stop after three failed submissions.

02

The hand-off page

A hand-off is a page with the agent's message, your browser live and a Done button. You can open it on your phone. The link is a short-lived ticket in the URL fragment, which browsers never send to a server, and it shows only your own browser.

Programs can wait for the result (long-poll) or receive a signed handoff.resolved or handoff.expired webhook.

FAQ

Questions people ask

Will it solve every CAPTCHA?

No. It works on many visual challenges (text, image tiles, sliders), but success depends on the challenge and the model. That is why the hand-off exists.

Is this allowed?

Use it only where you are authorised to automate. A CAPTCHA on your own account, or a site that permits automation, is the intended case. Our terms forbid using the service to get around a site's access controls.

Can I take over on my phone?

Yes. The live view works in a mobile browser; tap is a click and two fingers scroll. Typing needs take-over rights, which your settings control.

What if nobody answers?

Hand-offs expire (you choose how long, up to the limits). The agent gets the status expired and is told to report it and stop, not to work around it.

Do 2FA codes need a hand-off?

Not for authenticator apps: with a TOTP key in the vault entry, the server fills the code itself. SMS, email and push codes need a person.

Can I watch what the agent does?

Ask the agent for a viewer link (the browser_viewer tool), or open the live view in the console. Links expire after 10 minutes and are view-only unless your settings allow taking over; the server's relay enforces that, not the page.

Give your agent a browser that remembers.

Start with the free trial. Connect Claude Code, Cursor, Codex or your own code in a minute.