claude-in-chrome: screenshot/zoom tools fail with "clip.scale" deserialization error, viewport reports as 0x0

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

Summary

mcp__claude-in-chrome__computer with action: screenshot (and action: zoom) fails consistently, even against a simple local page with a properly connected, paired extension and a resized window.

Steps to reproduce

  1. Confirm extension is paired: tabs_context_mcp returns a valid existing tab.
  2. Navigate the tab to a local page (http://localhost:PORT/page.html, served via python3 -m http.server) — navigation itself succeeds.
  3. Call computer with action: "screenshot", tabId: <valid tab>.
  4. Result: Error capturing screenshot: {"code":-32602,"data":"Failed to deserialize params.clip.scale - BINDINGS: mandatory field missing at position 65","message":"Invalid parameters"}
  5. Retried with save_to_disk: true — same error.
  6. Tried resize_window to explicit dimensions (1440x620) on the same tab first, then retried screenshot — same error.
  7. Tried action: "zoom" with an explicit region instead — different error: Error capturing zoomed screenshot: Region exceeds viewport boundaries (0x0). Please choose a region within the visible viewport. — suggesting the extension believes the viewport is 0x0 even though the window was just resized to 1440x620 and the page had loaded successfully (confirmed via a separate get_page_text-style read, if available, or just by knowing the page rendered based on other signals).

Expected behavior

screenshot returns a captured image of the loaded page; zoom with a valid in-bounds region returns a cropped capture.

Actual behavior

screenshot always fails with a malformed-request error mentioning an internal parameter (clip.scale) that isn't part of the public tool schema — this looks like a bug in how the extension/tool bridge constructs its internal capture request, not something fixable from the caller's side. zoom fails separately by reporting a 0x0 viewport regardless of actual window size.

Workaround used

Rendered the same page via headless Chrome CLI instead (google-chrome --headless=new --screenshot=out.png --window-size=W,H url), which worked reliably and is unrelated to this extension entirely.

Environment

  • Occurred 2026-08-04, in a Claude Code session using claude-in-chrome MCP tools.
  • Same session, same day, navigate and tabs_context_mcp both worked normally against the same tab — only the capture (screenshot/zoom) tools failed.

Related

Possibly related to the general extension instability tracked in #82879 and #83959, but the specific symptom (malformed internal capture request) is distinct from both a pairing failure and a navigation permission denial.

View original on GitHub ↗