Logs
Each step logsstep N: <first line of the cell>, plus the error if the cell failed, and the run ends with completed in N steps, Ns. Stream it to your UI with a logging handler: Long tasks: Live progress. BROWSER_USE_LOGGING_LEVEL=warning turns the step lines off.
Usage and cost
cost_usd covers the model and web searches, not cloud browser time. See Models: Usage and cost and Output.
Transcript and workspace
result.messagesis the full conversation as Pydantic AI messages: every cell the model wrote and what it returned, with secrets redacted.agent.workspacekeeps each cell’s output in.browser-use/cells/, plus screenshots and files the agent saved. It is not deleted after the run. See Files.
OpenTelemetry traces
browser-use runs on Pydantic AI, so Pydantic AI’s instrumentation traces it: one span per run, per model request (chat bu-fast, with tokens and the messages) and per tool call (execute_tool python, with the code and its output). Send them to any OpenTelemetry (OTLP) backend:
logfire.instrument_pydantic_ai()).
Not in 1.0
- Laminar and OpenLIT integrations. 0.x shipped Laminar hooks and an OpenLIT guide. 1.0 has neither; use the OpenTelemetry spans above, which any OTLP backend accepts. The 0.x pages: observability (0.x), OpenLIT (0.x).
- Per-step hooks and per-action history. 0.x
on_step_start/on_step_endandhistory.action_names()are gone. Use the log handler andresult.messages.