claude-code - 💡(How to fix) Fix feat(claude-in-chrome): support `url` param on `tabs_create_mcp`

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
  • Affected tool: mcp__claude-in-chrome__tabs_create_mcp
  • Chrome API reference: chrome.tabs.create
  • Discovered while building a chrome-test markdown spec for an onboarding flow — observed ~5 s/run was the create+navigate sequence, dwarfing the actual interaction time.

Root Cause

A complementary improvement would be a wait_until: 'commit' | 'load' option on navigate itself (Playwright/WebDriver have this), but the create-with-url path is the simpler win because Chrome's API already returns early.

Code Example

mcp__claude-in-chrome__tabs_create_mcp({})          // ~50 ms
mcp__claude-in-chrome__navigate({ tabId, url })     // 3–5 s on a cold dev server
// Total: 3–5 s before agent can act

---

mcp__claude-in-chrome__tabs_create_mcp({ url: "https://localhost:3000/..." })  // ~100 ms
// Total: <200 ms; agent can immediately poll/inspect via javascript_tool
RAW_BUFFERClick to expand / collapse

Problem

mcp__claude-in-chrome__tabs_create_mcp always creates an empty chrome://newtab page. To land on a specific URL, you need a second mcp__claude-in-chrome__navigate call, which blocks until document.readyState === 'complete'. On dev servers (e.g. Next.js cold-start) that's 3–5 s of dead time per session before any automation can start.

Proposed change

Add an optional url parameter to tabs_create_mcp that passes through to chrome.tabs.create({ url }). Chrome's underlying API returns the tab object immediately after the tab is created (before the page loads), so the new tab call would return in <100 ms instead of waiting on full page load.

Today

mcp__claude-in-chrome__tabs_create_mcp({})          // ~50 ms
mcp__claude-in-chrome__navigate({ tabId, url })     // 3–5 s on a cold dev server
// Total: 3–5 s before agent can act

Proposed

mcp__claude-in-chrome__tabs_create_mcp({ url: "https://localhost:3000/..." })  // ~100 ms
// Total: <200 ms; agent can immediately poll/inspect via javascript_tool

Why this matters for agentic workflows

Tool-use agents pay this cost on every fresh session. For interactive testing (writing E2E specs, debugging UI flows, demoing a workflow), the 4–5 s feels like the harness is broken even when it isn't — it's all navigate blocking on load.

A complementary improvement would be a wait_until: 'commit' | 'load' option on navigate itself (Playwright/WebDriver have this), but the create-with-url path is the simpler win because Chrome's API already returns early.

Compatibility

  • Backward compatible (param is optional)
  • No new permissions needed (extension already has tabs permission)
  • One-line wiring in the extension's tab-creation handler

Context

  • Affected tool: mcp__claude-in-chrome__tabs_create_mcp
  • Chrome API reference: chrome.tabs.create
  • Discovered while building a chrome-test markdown spec for an onboarding flow — observed ~5 s/run was the create+navigate sequence, dwarfing the actual interaction time.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

claude-code - 💡(How to fix) Fix feat(claude-in-chrome): support `url` param on `tabs_create_mcp`