preview_screenshot MCP tool hangs session on Windows (works fine on macOS)

Resolved 💬 3 comments Opened Mar 2, 2026 by ctplayground Closed Apr 7, 2026

Description

When using Claude Code (v2.1.63) on Windows 11 via Claude Desktop, calling preview_screenshot (and occasionally other preview MCP tools) causes the entire session to become non-responsive. The session never recovers — I have to kill and restart every time.

This never happens on macOS with the same Claude Code version and same projects. It's 100% reproducible on Windows.

Environment

  • Claude Code version: 2.1.63
  • OS: Windows 11 Pro 10.0.26200
  • Client: Claude Desktop app
  • Shell: Git Bash
  • Affected tools: Primarily preview_screenshot, occasionally preview_snapshot

Steps to reproduce

  1. Open any project in Claude Code on Windows via Claude Desktop
  2. Start a dev server with preview_start
  3. Make a code change and ask Claude to verify it visually
  4. Claude calls preview_screenshot — session hangs indefinitely
  5. Must kill and restart the session

Expected behavior

preview_screenshot should return the screenshot data (or timeout gracefully with an error) as it does on macOS.

Actual behavior

The session becomes completely non-responsive. No timeout, no error — just an indefinite hang. The only recovery is killing the session.

Workaround

Instructing Claude (via CLAUDE.md) to avoid preview_screenshot and use text-based alternatives (preview_snapshot, preview_inspect) instead. These text-based tools work reliably on Windows.

Analysis

This appears to be related to large binary data transfer over the MCP connection on Windows. preview_screenshot returns image data which is significantly larger than the text-based tools. Windows subprocess/IPC communication seems to handle this payload size poorly compared to macOS.

Possibly related issues:

  • #22542 (MCP tool execution timeout not configurable in Desktop)
  • #26126 (unresponsive processing invalid image data)
  • #15945 (MCP server causes long hang)

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗