Human-in-the-loop for browser agents
Your agent got stuck.
A human gets it unstuck.
CAPTCHA, login wall, 2FA code, a page that makes no sense. Unstuck pauses your agent, sends the right person a link, lets them take over the live browser from their phone, and hands control back.
Open source at launch · TypeScript, Python and MCP · Self-host or use Unstuck Cloud
One call where your agent gets stuck
- Your agent asks for help. One line:
takeover(page), or the MCP tool. - A human gets a link. By email, Slack, Discord, Telegram or push; it opens on any phone.
- They solve it live. Tap, type and scroll in the real browser. The agent waits.
- The agent carries on. Done hands control back with the result.
import { Unstuck } from 'unstuck';
const unstuck = new Unstuck();
const result = await unstuck.takeover(page, { reason: 'Solve the CAPTCHA' });
if (result.status === 'resolved') {
// carry on: the human solved it
}
from unstuck import Unstuck
async with Unstuck() as unstuck:
result = await unstuck.takeover(page, reason="Solve the CAPTCHA")
if result.status == "resolved":
... # carry on: the human solved it
// Claude Desktop, Claude Code or any MCP client
{
"mcpServers": {
"unstuck": { "command": "unstuck-engine", "args": ["--mcp", "--open"] }
}
}
// The agent calls: request_human_takeover({ reason: "Solve the CAPTCHA" })
The source code and the npm and PyPI packages are published at launch. Sign up to try the hosted version today.
Try it on your phone
A live demo where you solve a real CAPTCHA in a cloud browser, from your phone. Coming soon.
Open source at the core
Self-host
SDKs, engine and MCP server are Apache-2.0. Run takeovers locally with no account, no infrastructure.
Unstuck Cloud
Hosted relay so links work from anywhere, managed notifications, takeover history, hosted browsers and AI watch.
Private by design
Signed single-use links, one human at a time, and an audit log that never records what was typed.
Pricing
Free for 100 takeovers a month. Then 2¢ each, prepaid. No subscription, no surprise bills.
- $10 for 500 takeovers 2¢ each
- $40 for 2,500 takeovers 1.6¢ each
Credits never expire and are only used after your free 100 each month.
Sign up free