Human-in-the-loop isn’t just for failures. Use it whenever you want a human to handle a sensitive or complex step, then let the agent continue.
Use cases:
- Human enters payment info or approves a transaction, agent handles the rest
- Human navigates a complex auth flow, then hands back to agent
- Human reviews what the agent did before the agent continues
- QA workflow: agent does work, human spot-checks, agent proceeds
Flow
- Create a session with
keep_alive=True so it stays alive between tasks
- Run an agent task
- Human opens the
liveUrl and does their part
- Send a new follow-up task on the same session
from browser_use_sdk import AsyncBrowserUse
client = AsyncBrowserUse()
# 1. Create a persistent session
session = await client.sessions.create(keep_alive=True)
print(f"Live view: {session.live_url}")
# 2. Agent does the first part
result = await client.run(
"Go to Google Flights and search for flights from NYC to London",
session_id=session.id,
)
print(result.output)
# 3. Human opens live_url and picks a flight
input("Press Enter after you've selected a flight in the live view...")
# 4. Agent continues where the human left off
result = await client.run(
"Get the details of the selected flight — airline, price, departure and arrival times",
session_id=session.id,
)
print(result.output)
# Clean up
await client.sessions.stop(session.id)
The liveUrl gives the human full mouse and keyboard control. The agent sees whatever state the human leaves the browser in when the next task starts.