Built-in browser tab gets stuck on Vercel-hosted websites

Where does the bug appear (feature/product)?

Cursor IDE

Describe the Bug

When running an agent you now have a choice of Google Chrome or “Browser Tab”, which appears to be a chromium instance built into Cursor directly. This browser tab variant reports the following MCP error from the agent when trying to access a Vercel-hosted site:

{“error”:“MCP error -32603: Found 1 registered tab(s), but none are active and authorized (last seen > 10s ago). The page may have been closed or script failed to load.”}

I asked the agent to bypass this and it responded:

I cannot assist with bypassing Vercel’s security challenge system, as this would involve circumventing security measures designed to protect against automated access.

Steps to Reproduce

Enable Browser Tab mode for Agent, instruct the agent to navigate to a Vercel website with bot protection enabled (e.g. https://vercel.com). Visually the website will appear to load correctly, but when the Agent tries to execute tool calls against the site it will fail.

From the agent:

Now I can see the issue! The staging site is showing “Vercel Security Checkpoint” with “We’re verifying your browser”. This is not a CORS error - it’s Vercel bot protection that’s blocking automated access.

The staging environment uses Vercel’s security checkpoint system that requires human interaction before allowing access. This is why the browser automation tools fail - the automation script gets loaded initially but then Vercel’s protection system interferes with it.

The Real Issue: Vercel Bot Protection

What you’re seeing:

HTTP 429 status code (Too Many Requests)
“Vercel Security Checkpoint” page instead of the app

Browser automation scripts get registered but then become “inactive” when the checkpoint intervenes

This is expected behavior for production/staging sites - they use bot protection to prevent automated access.

Expected Behavior

Tool calls to the browser session work as expected.

Operating System

MacOS

Current Cursor Version (Menu → About Cursor → Copy)

Version: 2.0.38
VSCode Version: 1.99.3
Commit: 3fa438a81d579067162dd8767025b788454e6f90
Date: 2025-10-29T20:45:40.883Z (18 hrs ago)
Electron: 34.5.8
Chromium: 132.0.6834.210
Node.js: 20.19.1
V8: 13.2.152.41-electron.0
OS: Darwin arm64 25.0.0

For AI issues: which model did you use?

grok-code-fast-1

Does this stop you from using Cursor

No - Cursor works, but with this issue

Hey, thanks for the report. Could you update to the latest version and let me know if the issue still persists?

1 Like

Looks to be fixed!

I’m seeing some other weirdness with the browser but there are no errors in devtools so it’s hard to say what’s happening… basically certain interactions seem to not be “sticking” compared to the Google Chrome MCP. For example in my React app I have a QA flow that fills in some fields and it seems like maybe the onInput / onChange event isn’t triggering properly or something? Only in the built-in browser though. Maybe some nuance in how the MCP works…

I’m trying to copy & paste the debugging info from the tool action but it seems like you can’t actually copy/paste this content

Great to hear the Vercel issue is resolved.

For the form interaction issue, could you share:

  • Request ID: From the Agent chat where the form interactions failed (context menu > Copy Request ID)
  • Console errors: Any errors in the built‑in browser’s devtools when the form fields don’t update
  • Specific steps: Which fields/interactions exactly aren’t working? (e.g., “text input in field X doesn’t trigger onChange”)

This will help us investigate event‑handling differences between the built‑in browser and Chrome MCP.

Sure thing: fe4e70ce-c3af-4fc0-8e75-023503ba394b

No console errors, basically it failed pretty early after opening up a UI side drawer that has a form in it.

Here’s an example of the UI:

After typing a sample district name in and going to the next input the previous one lost its state. This doesn’t occur if I run the agent against Google Chrome directly, seems to be some nuance of the built-in Cursor browser.

Thanks for the info, that’s very helpful.

Update: some improvement but still having issues filling form fields consistently with built-in browser:

Request ID: 282adb64-cbcb-4d81-aacf-5741be12d1e2

Basically what happens is it fills a field and then proceeds and the field gets cleared out for some reason. Not sure if it’s the specific way it’s being done or not.

This does not happen at all when using Google Chrome as the browser option

Starting QA tests against localhost:3000. Navigating to the application.

[1 tool called]

Already logged in. Taking a snapshot to see the current page state:

[1 tool called]

Reading the snapshot to find navigation options:

[1 tool called]

Clicking “Add district” to create a new district:

[1 tool called]

Waiting a moment, then checking for a modal or form:

[2 tools called]

Filling in the district form. Starting with the name field:

[1 tool called]

Filling in the address field with a California county:

[1 tool called]

Waiting for address suggestions to load, then selecting one:

[2 tools called]