Skip to main content

Overview

Browser Use has a native integration with Laminar - open-source platform for monitoring and analyzing error patterns in AI agents. Laminar SDK automatically captures agent execution steps, costs and browser session recordings of Browser Use agent. Browser session recordings allows developers to see full video replay of the browser session, which is useful for debugging Browser Use agent.

Setup

Install Laminar python SDK.
pip install lmnr
Register on Laminar Cloud or self-host Laminar, create a project and get the project API key from your project settings. Set the LMNR_PROJECT_API_KEY environment variable.
export LMNR_PROJECT_API_KEY=<your-project-api-key>

Usage

Then, you simply initialize the Laminar at the top of your project and both Browser Use agent traces and session recordings will be automatically captured.
from browser_use import Agent, ChatGoogle
import asyncio

from lmnr import Laminar
import os

# At initialization time, Laminar auto-instruments 
# Browser Use and any browser you use (local or remote)
Laminar.initialize(project_api_key=os.getenv('LMNR_PROJECT_API_KEY'))

async def main():
    agent = Agent(
        task="go to ycombinator.com, summarize 3 startups from the latest batch",
        llm=ChatGoogle(model="gemini-2.5-flash"),
    )
    await agent.run()

asyncio.run(main())

Viewing Traces

You can view traces in the Laminar UI by going to the traces tab in your project. When you select a trace, you can see both the browser session recording and the agent execution steps. Timeline of the browser session is synced with the agent execution steps. In the trace view, you can also see the agent’s current step, the tool it’s using, and the tool’s input and output. Laminar

Laminar

To learn more about how you can trace and evaluate your Browser Use agent with Laminar, check out Laminar docs.

Browser Use Cloud Authentication

Browser Use can sync your agent runs to the cloud for easy viewing and sharing. Authentication is required to protect your data.

Quick Setup

# Authenticate once to enable cloud sync for all future runs
browser-use auth
# Or if using module directly:
python -m browser_use.cli auth
Note: Cloud sync is enabled by default. If you’ve disabled it, you can re-enable with export BROWSER_USE_CLOUD_SYNC=true.

Manual Authentication

# Authenticate from code after task completion
from browser_use import Agent

agent = Agent(task="your task")
await agent.run()

# Later, authenticate for future runs
await agent.authenticate_cloud_sync()

Reset Authentication

# Force re-authentication with a different account
rm ~/.config/browseruse/cloud_auth.json
browser-use auth
Note: Authentication uses OAuth Device Flow - you must complete the auth process while the command is running. Links expire when the polling stops.