# 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](/mcp/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](https://github.com/browser-use/browser-use/issues/4846) · 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](https://github.com/browser-use/browser-use/issues/4621) · 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](https://github.com/browser-use/browser-use/issues/4563) · 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](https://getagentid.dev) 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](https://github.com/browser-use/browser-use/issues/4470) · 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`\":

```json
{
  "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](https://github.com/browser-use/browser-use/issues/4945) · 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
- [x] It's important to

[Read the thread](https://github.com/browser-use/browser-use/issues/4911) · 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](https://dominionobservatory.com) to verify MCP servers before allowing tool execution. The API provide

[Read the thread](https://github.com/browser-use/browser-use/issues/4903) · 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?

- [x] It's an urgent deal-breaker, I can't live without it
- [ ] It's important to add it

[Read the thread](https://github.com/browser-use/browser-use/issues/4895) · 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](https://github.com/xcodethink/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](https://github.com/browser-use/browser-use/issues/4795) · 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](https://p2pclaw.com) — 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](https://github.com/browser-use/browser-use/issues/4781) · 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.

```python
# 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).
