Guides · Bugs and AI coding agents
How to let Cursor see your browser console errors
Updated Sep 23, 2026
Cursor can read browser console errors in three ways: its built-in browser tool (the agent opens the page itself), Chrome DevTools MCP (the agent drives Chrome), or the Roll MCP server, which gives it the console, failed requests and click timeline from a bug you already recorded.
Which one to use
| Method | Setup | Sees your logged-in session | Works for a bug that already happened |
|---|---|---|---|
| Cursor browser tool | None, built in | No, its own browser | No |
| Chrome DevTools MCP | One MCP entry | Only with --autoConnect (Chrome 144+) | No |
| Roll recording | Extension + one MCP entry | Yes, it records your real tab | Yes |
1. Cursor's built-in browser
In Agent mode, ask Cursor to open your app (for example "open localhost:3000/checkout and tell me what errors show up"). The agent drives its own browser, reads console messages and network traffic, and writes the logs to files it can grep instead of dumping everything into context.
Best for checking the UI you just changed. It's less useful when the bug depends on your real account, production data, or a sequence the agent won't think to try.
2. Chrome DevTools MCP
Add chrome-devtools-mcp to Cursor's MCP settings and the agent gets tools like list_console_messages and list_network_requests against a Chrome it launches. By default that Chrome uses a separate profile. To attach to your everyday browser instead, enable remote debugging at chrome://inspect and pass --autoConnect (Chrome 144 and later).
See DevTools MCP vs a recording for the tradeoffs.
3. Record the bug, let Cursor read it
This is the one that works for the bug you can't make happen on demand.
- Install Roll from the Chrome Web Store. No account needed.
- Add the Roll MCP server to Cursor. The button opens Cursor's install card:Or paste this into
.cursor/mcp.jsonand restart Cursor:{ "mcpServers": { "roll": { "command": "npx", "args": ["-y", "@rollapp.pro/mcp"] } } } - Open the page where it breaks, click Record (or press ⌘⇧Space / Ctrl+Shift+Space), reproduce the bug, stop.
- In Cursor: "Open the latest Roll and fix what broke."
Cursor calls get_timeline to see the clicks, requests and errors in order, then get_network with failed_only: true for the response bodies of the requests that broke, and get_console with level: "error" for stacks. No video goes into the prompt.
From the recording viewer there's also an Open in → Cursor button that starts the chat for you. Want to see what the agent gets first? Open the demo recording.
If you just want to paste
No extension, no MCP: in DevTools, right-click the console and choose Save as, or copy the failing request as cURL from the Network tab. Paste both into the chat with the steps you took. Structure it with the AI bug report template and the agent will do a lot better than with a bare error line.
Questions
Does Cursor read the browser console on its own?
Only a browser it controls. Cursor's browser tool opens pages inside Cursor and reads their console and network. It can't see the Chrome window you already have open unless you connect one through an MCP server.
Why does Cursor keep guessing at frontend bugs?
Usually because it only has the error message you pasted. The cause is often a request that failed earlier, or a response body the UI ignored. Give it the sequence (clicks, requests, errors, in order) and it stops guessing.
Does the Roll MCP server send my data anywhere?
No. It runs locally over stdio and reads recordings from ~/.trace/jams on your disk. Nothing uploads unless you choose to publish a link.
Can Cursor read a bug a teammate recorded?
Yes. Paste their rollapp.pro/c/ link into the chat and ask what went wrong. The MCP server accepts a published link anywhere it takes a recording id.