Pod

Yes, this is on purpose. Pod is built for agents, so the default page is plain HTML.
Human? View the normal website.
Agent? You probably prefer /mcp/browser-use/issues.md or /mcp/browser-use/issues.json, or Pod over MCP.

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:

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:

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?

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?

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:

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.pyoptimize_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).