Reported issues for browser-use
Pod holds 23 of 92 problems reported by people outside the maintainer team. Issues filed by the project's own owners, members and collaborators are excluded entirely — a maintainer's release checklist is not a warning to a prospective user.
Back to browser-use.
Most discussed
Bug: MCP server connects but list_tabs/get_state/screenshot fail while navigate works (CDP healthy)
Browser Use Version
browser-use 0.12.6 (uvx) MCP wrapper also tested with 0.12.5, same failure
Bug Description, Steps to Reproduce, Screenshots
root@srv1642813:~# cat /root/bu-local-bug-report.md
bu-local MCP bug report (browser-use bridge)
Date: 2026-05-16 Host: VPS Ubuntu 24.04 + Windows 11 Edge via SSH reverse tunnel
Summary
bu-local MCP server connects and exposes tools, and browser_navigate succeeds, but core state/screenshot/tab tools fail consistently:
- `browser_li
Read the thread · 2026-05-16 · open · external user · 8 comments
Governance/audit checks for browser automation agents in CI
Browser automation agents are one of the higher-risk agent patterns since they interact with live web content and user data. In production, teams will need to demonstrate audit trails, kill switches, and policy enforcement around these actions.
Right now there's nothing in CI that validates whether agent files have these governance patterns in place. A PR-level check could catch gaps early - missing error handling around browser actions, no logging, no human approval for sensitive operations.
Read the thread · 2026-04-06 · closed · external user · 7 comments
[Feature] Agent-Trust-Score HTTP header — multi-provider trust verification for browser agents
Summary
Browser agents need verifiable trust when interacting with websites. This proposal adds an Agent-Trust-Score HTTP header that carries a signed JWT with trust metadata from any conformant provider.
Related discussion: #4470 (AgentID support for verifiable browser agent identity) Co-authors: @haroldmalikfrimpong-ops (AgentID/HOL) + @0xbrainkid (SATP/AgentFolio)
Motivation
Browser agents currently have no way to prove trustworthiness to websites. Sites must choose betwee
Read the thread · 2026-03-30 · closed · external user · 21 comments
Feature: AgentID support for verifiable browser agent identity
Summary
Browser agents acting on behalf of users need verifiable identity so websites can trust and authorize them. AgentID provides ECDSA P-256 certificates, a verification API, and trust scores for AI agents.
Reference Implementation
AgentID is an open-source identity layer for AI agents:
- ECDSA P-256 certificates per agent
- Verification API for runtime credential validation
- Trust scores for authorization decisions
- Agent registry for discovery
We have
Read the thread · 2026-03-22 · closed · external user · 13 comments
MCP server: browser_click schema uses oneOf which breaks Claude Code / Claude API clients
Bug
browser_click in the MCP server (introduced in 0.11.13) uses oneOf inside its inputSchema to express "either index OR coordinate_x/y":
{
"type": "object",
"properties": { ... },
"oneOf": [
{"required": ["index"]},
{"required": ["coordinate_x", "coordinate_y"]}
]
}
Claude's API rejects oneOf / allOf / anyOf at the top level of a tool input schema with:
400 tools.N.custom.input_schema: input_schema does not support oneOf, allOf,
[Read the thread](https://github.com/browser-use/browser-use/issues/4211) · 2026-02-25 · closed · outside contributor · 8 comments
### Cannot run 'browser-use --mcp'; "CLI addon is not installed" error persists despite multiple installation attempts (including venv/uvx)
### Browser Use Version
0.9.2
### Bug Description, Steps to Reproduce, Screenshots
I am unable to start the browser-use MCP server using the command uvx browser-use --mcp. The system consistently reports that the CLI addon is not installed, even though I have successfully installed it using both uv pip install and the recommended workarounds from other issues. I want to run as a MCP server in my local and test now and later productionize it.
Environment Details
Operating System: Windows
Pyt
[Read the thread](https://github.com/browser-use/browser-use/issues/3447) · 2025-10-28 · closed · external user · 10 comments
### Issue: Custom actions not recognized when referenced in prompts
### Browser Use Version
0.8.0
### LLM Model
Other (specify in description)
### Screenshots, Description, and task prompt given to Agent
When registering custom actions with @tools.registry.action(), the agent fails to recognize and use them.
Model keeps returning
`I cannot complete the requested task because the custom action 'custom_action_find_element' is not available in my action set.
My available actions are: search, navigate, go_back, wait, click, input, upload_file, switch, clos
[Read the thread](https://github.com/browser-use/browser-use/issues/3322) · 2025-10-13 · closed · external user · 9 comments
### Bug: MCP feature issue
### Browser Use Version
latest
### Bug Description, Steps to Reproduce, Screenshots
here is the bug, simple and necessary to be fixed.
the key problem is the type of tools is not right, it's should be ```string``` not ```str```
<img width="802" height="438" alt="Image" src="https://github.com/user-attachments/assets/6fdc7e90-cbc1-49cc-97ca-31a1c53da584" />
i will create a pr to fix this bug in few day.
### Failing Python Code
```python
from qwen_agent.agents import Assistant
llm_cfg =
[Read the thread](https://github.com/browser-use/browser-use/issues/2825) · 2025-08-26 · closed · external user · 20 comments
## Most recent
### Security: update exact Click, MCP, and pypdf pins to fixed releases
### Problem
`browser-use==0.13.8` currently pins `click==8.3.1`, `mcp==1.26.0`, and `pypdf==6.14.2` exactly. The public PyPA advisory database reports these versions as affected by:
- Click: `PYSEC-2026-2132` (fixed in 8.3.3)
- MCP: `PYSEC-2026-3481`, `PYSEC-2026-3482`, and `PYSEC-2026-3483` (the highest common fixed floor is 1.28.1)
- pypdf: `PYSEC-2026-3655` and `PYSEC-2026-3656` (fixed in 6.15.0)
Because Browser Use uses exact dependency pins, downstream resolvers cannot select the fixed r
[Read the thread](https://github.com/browser-use/browser-use/issues/5524) · 2026-08-23 · open · external user · 1 comment
### Feature Request: honor BROWSER_USE_HEADLESS in BrowserProfile, not only in the MCP config path
## Problem
`BROWSER_USE_HEADLESS` is documented as an environment variable to control headless mode (see `skills/open-source/references/integrations.md`), but it only actually works when going through the MCP server config path (`browser_use/config.py:472-473`, consumed by `browser_use/mcp/server.py`). When using the library directly — `Agent(...)`, `BrowserSession(...)`, or constructing a `BrowserProfile(...)` — the variable is silently ignored. No error, no warning, it's just a no-op.
This i
[Read the thread](https://github.com/browser-use/browser-use/issues/5420) · 2026-08-09 · open · external user · 0 comments
### Support mcp 2.x (Python SDK): hard pin mcp==1.26.0 blocks 2.0.0
## Summary
`browser-use` hard-pins the MCP Python SDK to `mcp==1.26.0` and cannot be installed alongside `mcp` 2.0.0 (released 2026-07-28). This issue tracks the breaking changes in `mcp` 2.0 that affect browser-use.
### Current pin
`mcp==1.26.0` — `pyproject.toml:39` (main `dependencies`).
### Breaking changes in `mcp` 2.0 that affect browser-use
Verified against the installed `mcp==2.0.0` SDK and browser-use `main`:
1. **Lowlevel `@server.list_tools()` / `@server.call_tool()` decorators
[Read the thread](https://github.com/browser-use/browser-use/issues/5333) · 2026-07-31 · open · external user · 3 comments
### Bug: MCP server reports tool execution failures with isError=false
### Browser Use Version
0.13.6
### Bug Description, Steps to Reproduce, Screenshots
The native Browser Use MCP server converts tool execution failures into ordinary content lists. The Python MCP SDK consequently emits a normal `CallToolResult` with `isError: false`.
This affects both:
- exceptions caught by `handle_call_tool`, such as CDP connection failures
- expected action failures returned as strings, such as `Element with index N not found`, invalid click arguments, missing sessions, o
[Read the thread](https://github.com/browser-use/browser-use/issues/5252) · 2026-07-18 · open · external user · 3 comments
### feat: should show tab list and indicate current tab
## Problem
When using the CLI's `state` command, it only shows the content of the current page. However, when an AI agent clicks a link that opens in a **new tab** (e.g., `target=_blank` or middle-click behavior), the `state` output doesn't reflect this — it still shows the old page. The agent has no way to know:
1. How many tabs are currently open
2. Which tab is currently active/focused
3. That a click resulted in a new tab rather than navigation
This causes the agent to get stuck, thinking
[Read the thread](https://github.com/browser-use/browser-use/issues/5251) · 2026-07-18 · open · external user · 3 comments
### Read-only MCP tools have no annotations and are cancelled by Codex exec
I tested the official Browser Use CLI MCP surface with Browser Use `0.11.13` and Codex CLI `0.142.5`.
`tools/list` returned 16 tools with no MCP annotations. That includes clearly read-only operations such as `browser_get_state`, `browser_screenshot`, `browser_list_tabs`, and `browser_list_sessions`.
In a non-interactive Codex run with `approval_policy=never`, the model selected `browser_get_state`, but the runtime returned `user cancelled MCP tool call` and the agent could not report the curr
[Read the thread](https://github.com/browser-use/browser-use/issues/5239) · 2026-07-15 · closed · external user · 3 comments
### Bug: <select> with more than 4 options drops the "... N more options..." indicator in serialized DOM
### Browser Use Version
0.13.4 (main @ 68afe464)
### Bug Description, Steps to Reproduce, Screenshots
When the DOM serializer renders a `<select>` that has **more than 4 options**, the "more options" hint that the serializer deliberately generates is silently dropped from the text handed to the LLM.
`DOMTreeSerializer._extract_select_options` (`browser_use/dom/serializer/serializer.py`) builds `first_options` as **up to 4 option labels plus** a trailing `"... N more options..."` indicator:
[Read the thread](https://github.com/browser-use/browser-use/issues/5195) · 2026-07-11 · open · outside contributor · 2 comments
### BUG: ChatGroq._invoke_structured_output always raises ModelProviderError for tool-calling models
When using a model listed in `ToolCallingModels` (e.g. `moonshotai/kimi-k2-instruct`), Groq returns `message.content = None` and places the structured JSON in `message.tool_calls[0].function.arguments`. The guard at line 176 of `browser_use/llm/groq/chat.py` unconditionally checks `message.content` regardless of which invocation path was used, so it always raises `ModelProviderError('No content in response')` even when valid tool-call data was returned.
Traceback:
File "browser_use/llm/groq
Read the thread · 2026-06-01 · closed · external user · 1 comment
Test Issue: Automated Browser Interaction Verification
What is the problem that your feature request solves?
This is a test issue created to verify the automated issue creation process.
What is your proposed solution?
No specific solution required, this is a test.
What hacks or alternative solutions have you tried to solve the problem?
None.
What version of browser-use are you currently using?
latest
How badly do you want this new feature?
- It's an urgent deal-breaker, I can't live without it
- It's important to
Read the thread · 2026-05-24 · closed · external user · 0 comments
Feature: Add MCP server trust verification before browser tool execution
Feature Description
When browser-use agents connect to MCP servers for tool execution, there's currently no way to verify whether a server is trustworthy before granting it browser access. This is a significant security gap — a malicious MCP server could inject harmful actions into browser sessions.
Proposed Solution
Integrate behavioral trust scoring via the Dominion Observatory API to verify MCP servers before allowing tool execution. The API provide
Read the thread · 2026-05-24 · open · external user · 6 comments
Feature Request: ...
What is the problem that your feature request solves?
be able to execute browser-use with codex-cli, not api key
What is your proposed solution?
be able to run browser-use with codex-cli command
What hacks or alternative solutions have you tried to solve the problem?
No response
What version of browser-use are you currently using?
0.12.7
How badly do you want this new feature?
- It's an urgent deal-breaker, I can't live without it
- It's important to add it
Read the thread · 2026-05-23 · open · external user · 0 comments
Feature suggestion: PixelCheck integration for automated page quality diagnostics
What is the problem that your feature request solves?
After browser-use completes a task, there's currently no built-in way to verify page quality (accessibility, performance, visual issues).
PixelCheck is an MCP tool that provides page-health diagnostics — a11y, performance, cookies, popups, visual scoring — in a single call. It could complement browser-use as a post-action verification step.
Example: an agent uses browser-use to fill a form, t
Read the thread · 2026-05-06 · open · external user · 1 comment
📝 Integration Proposal: CAJAL — Scientific Paper Research Agent
📝 Integration Proposal: CAJAL — Scientific Paper Agent for Browser-Use
What is CAJAL?
CAJAL is not a general-purpose chat model. It is a specialized scientific paper generation tool — local, 2GB, LaTeX output.
Part of P2PCLAW
Agent in P2PCLAW — 14-agent decentralized research network.
Why Browser-Use?
Combine web research + paper generation in one autonomous flow:
- Browser-Use scrapes papers from arXiv/PubMed
- CAJAL synthesizes literature re
Read the thread · 2026-05-04 · closed · external user · 2 comments
Dead code in optimize_schema(): 'type' key is unreachable in second elif branch
Bug Report
Location
browser_use/llm/schema.py — optimize_schema() inner function
Problem
The 'type' key is handled by an early elif key == 'type': branch (line ~61), but then also listed inside a later elif key in ['type', 'required', ...] block. Because Python elif chains are exclusive, the second branch can never be reached for key == 'type'.
This is dead code: the 'type' entry in the second list is redundant and misleading.
# This catches
[Read the thread](https://github.com/browser-use/browser-use/issues/4703) · 2026-04-19 · closed · outside contributor · 2 comments
### [Integration] BenchClaw leaderboard adapter available
Hi — I built a small adapter that lets agents built on this framework publish results to **BenchClaw**, a free, no-signup LLM/agent leaderboard (17-judge Tribunal, 8 deception detectors, 10 scoring dimensions).
**Adapter (this framework):** https://github.com/Agnuxo1/benchclaw-integrations/tree/main/browser-use
It follows the framework conventions (see README in that folder) and exposes three entry points:
- `benchclaw_register(llm, agent)` — claim an `agentId` on the public board
- `benchcla
[Read the thread](https://github.com/browser-use/browser-use/issues/4701) · 2026-04-18 · closed · external user · 0 comments
The remaining reports are on [the project's issue tracker](https://github.com/browser-use/browser-use/issues).