claude-in-chrome: screenshot returns CDP invalid-params error; navigate timeout wrongly blames a pending permission prompt

Status Open
Maintainer reply None cached
Activity 0 comments · opened Aug 27, 2026

What happened: mcp__claude-in-chrome__computer (action: screenshot) returned a raw CDP error: {"code":-32602,"data":"Failed to deserialize params.clip.scale - BINDINGS: mandatory field missing at position 65","message":"Invalid parameters"}.

Separately, navigate calls on the same tab intermittently timed out with: "the page may be loading, unresponsive, or waiting on a permission prompt in the extension side panel." A get_page_text call on the same tab immediately afterward succeeded instantly with full, correct page content — showing the page was not actually stuck and no permission prompt was pending. This generic message caused real confusion for the user, who could not find any pending prompt.

Tab IDs also churned across calls (e.g. a tab reported present in one tabs_context_mcp call came back "no longer exists" moments later, replaced by a new tab ID) without any explicit navigation to a different site or tab close.

Repro:

  1. Start a local dev server (Next.js) and open a tab via tabs_context_mcp/navigate to a localhost URL.
  2. Call mcp__claude-in-chrome__computer with action: screenshot on that tab → invalid-params CDP error.
  3. Separately, repeat navigate calls on the same tabId — occasionally times out citing a permission prompt with none actually present (verified via a successful get_page_text call immediately after).

Impact: The misleading "permission prompt" wording sent an assistant session chasing the wrong root cause for an extended period, and the underlying screenshot failure meant the user could not be shown their own already-open local web app despite multiple successful navigate calls (confirmed via get_page_text) to the correct URL.

Environment: Windows 11, Claude Code CLI, claude-in-chrome extension, local Next.js dev server on localhost:3000.

Not yet root-caused on my end — the screenshot error looks like a missing default parameter (clip.scale) on the tool's side; the navigate timeout's "permission prompt" attribution appears to be a generic message shown on any stall, not a confirmed prompt-detection.

View original on GitHub ↗