Description of the bug
Problem
In multi-agent workflows (e.g., Claude Code with parallel agents), concurrent select_page calls create race conditions because select_page + action is not atomic. Agent A calls select_page(page1), then Agent B calls select_page(page2) before
Agent A's next tool call — Agent A now operates on the wrong page.
This is already solved by --experimental-page-id-routing, which allows tools to accept pageId directly. But since it's behind an experimental flag, most users don't know about it.
Proposal
- Make
pageId always available on page-scoped tools (remove the experimental gate)
- Fix
waitForEventsAfterAction to use the explicit target page's emulation settings instead of the global selected page — currently it reads CPU throttling / network conditions from #selectedPage, which may be a different page than the one being
operated on
Reproduction
No response
Expectation
No response
MCP configuration
No response
Chrome DevTools MCP version
0.20.3
Chrome version
No response
Coding agent version
No response
Model version
No response
Chat log
No response
Node version
No response
Operating system
macOS
Extra checklist
Description of the bug
Problem
In multi-agent workflows (e.g., Claude Code with parallel agents), concurrent
select_pagecalls create race conditions becauseselect_page+ action is not atomic. Agent A callsselect_page(page1), then Agent B callsselect_page(page2)beforeAgent A's next tool call — Agent A now operates on the wrong page.
This is already solved by
--experimental-page-id-routing, which allows tools to acceptpageIddirectly. But since it's behind an experimental flag, most users don't know about it.Proposal
pageIdalways available on page-scoped tools (remove the experimental gate)waitForEventsAfterActionto use the explicit target page's emulation settings instead of the global selected page — currently it reads CPU throttling / network conditions from#selectedPage, which may be a different page than the one beingoperated on
Reproduction
No response
Expectation
No response
MCP configuration
No response
Chrome DevTools MCP version
0.20.3
Chrome version
No response
Coding agent version
No response
Model version
No response
Chat log
No response
Node version
No response
Operating system
macOS
Extra checklist