computer-use and Chrome MCPs fail every session with >2000px screenshots on retina displays
Summary
Both mcp__computer-use__screenshot and every screenshot-producing tool in the Claude-in-Chrome MCP (preview_screenshot, screenshot, etc.) fail reliably when the host display is a retina Mac. The screenshot is captured at native pixel resolution and rejected because it exceeds a 2000px per-dimension cap somewhere in the upload/API path. This happens in every single session — not intermittent.
Environment
- Hardware: 16" MacBook Pro, native panel 3456×2234
- macOS: Darwin 25.3.0
- Claude Code: running Opus 4.7 (1M context)
- Display setting: "Default" scaling (HiDPI 1728×1117 logical → 3456×2234 backing pixels)
Repro
- Open any Claude Code session on a retina Mac at default/more-space scaling.
- Call any screenshot-producing tool from
mcp__computer-use__*ormcp__Claude_in_Chrome__*. - Tool returns an error indicating the image exceeds 2000px on a dimension.
Expected
The MCP should auto-downsample the captured image before upload so it fits the image-API dimension limits, transparently to the user. The user should not have to re-scale their macOS display every session.
Actual
Tool fails. The only user-side workarounds are:
- Switch macOS Displays to "Larger Text" scaling — still produces ~2048×1280 screenshots on 16" MBP, so not guaranteed to pass.
- Enable "Show all resolutions" and pick a non-HiDPI resolution like 1680×1050 — works but makes the whole UI fuzzy, which is unreasonable to ask for.
- Avoid screenshot tools entirely and rely on DOM-based browser tools — defeats the purpose of computer-use.
Impact
- Affects every retina Mac user (i.e., most macOS users on modern hardware).
- Every session that needs a screenshot hits this.
- Forces either UI degradation or skipping computer-use entirely.
Suggested fix
In the MCP server for computer-use and Claude_in_Chrome, after capturing the screenshot and before uploading, check image dimensions. If either dimension > 2000px, downsample proportionally so the longer edge is ≤ 2000px. This is a 5-line change per MCP using Pillow/sharp/etc.
Ideally, expose a user-configurable max-dimension via MCP server env var (e.g. CLAUDE_MCP_SCREENSHOT_MAX_PX=1600) so users on higher-DPI displays can tune it.
Severity
Blocker for computer-use reliability on retina Macs. I'm filing this because it silently eats 5–10 seconds of every session where I need visual verification.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗