Skip to main content
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

  1. Create a session with keep_alive=True so it stays alive between tasks
  2. Run an agent task
  3. Human opens the liveUrl and does their part
  4. 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.