[BUG]

Open 💬 7 comments Opened Dec 8, 2025 by feek13

Preflight Checklist

  • [x] I have searched existing issues and this hasn't been reported yet
  • [x] This is a single bug report (please file separate reports for different bugs)
  • [x] I am using the latest version of Claude Code

What's Wrong?

Bug Report: MCP Tool Large Screenshot Causes Unescapable Infinite Loop

Preflight Checklist

  • [x] I have searched existing issues and this hasn't been reported yet
  • [x] This is a single bug report
  • [x] I am using the latest version of Claude Code

Bug Description

When using an MCP tool (e.g., chrome-devtools) to take a screenshot, if the resulting image is too large (5MB+), Claude Code enters an infinite loop that cannot be escaped through normal means.

The error message displayed is:

Image was too large. Double press esc to go back and try again with a smaller image.

However, the suggested action (double press ESC) does not work effectively. The only way to break out of this loop is to use the /clear command, which loses all conversation context.

Steps to Reproduce

  1. Configure an MCP tool that can take screenshots (e.g., chrome-devtools)
  2. Use the MCP tool to navigate to a page and take a screenshot
  3. The screenshot is saved successfully (in my case, to /var/folders/.../screenshot.png)
  4. Claude automatically attempts to read the image
  5. If the image is large (5MB-20MB), the error appears: "Image was too large"
  6. Try any of the following:
  • Type "continue" → Claude retries viewing the same large image → same error
  • Press stop → Ask a new question → Claude still tries to view the image → same error
  • Double press ESC → Does not effectively cancel the operation
  1. The loop continues indefinitely until /clear is used

Expected Behavior

  1. Graceful failure: When an image is too large, Claude should acknowledge the failure and move on without retrying
  2. Effective cancellation: The ESC key or stop button should completely cancel the image viewing attempt
  3. No automatic retry: Claude should not automatically retry viewing the same too-large image
  4. Alternative options: Claude could offer to:
  • Skip the image and continue the conversation
  • Suggest resizing the image
  • Provide the file path for manual inspection

Actual Behavior

  • Claude enters an infinite retry loop
  • Cannot escape without /clear
  • Loses all conversation context when forced to use /clear
  • The "double press ESC" suggestion in the error message does not resolve the issue

Environment Info

  • Platform: macOS (darwin)
  • Terminal: Standard terminal / iTerm2
  • MCP Tool: chrome-devtools (but likely affects any MCP tool that returns large images)
  • Image Size: ~5MB-20MB (screenshot of a full webpage)

Screenshots / Logs

● chrome-devtools - navigate_page (MCP)(type: "url", url: "https://example.pages.dev/login")
  └ # navigate_page response
    Successfully navigated to https://example.pages.dev/login.
    ## Pages
    0: https://example.pages.dev/login [selected]

● chrome-devtools - list_network_requests (MCP)(resourceTypes: ["fetch","xhr"])
  └ # list_network_requests response
    ## Network requests
    No requests found.
  # take_screenshot response
    Took a screenshot of the current page's viewport.
    Saved screenshot to /var/folders/.../screenshot.png.

● Read(/var/folders/.../screenshot.png)
  └ Read image (5MB)

● Image was too large. Double press esc to go back and try again with a smaller image.

> continue

● Image was too large. Double press esc to go back and try again with a smaller image.

Impact

  • Workflow disruption: Users are forced to lose all conversation context
  • No graceful recovery: The only workaround (/clear) is destructive
  • Poor UX: The error message suggests an action (double ESC) that doesn't fully resolve the issue

Suggested Fix

  1. Implement a maximum retry count (e.g., 1 attempt) for large images
  2. After failure, mark the image as "skipped" and continue normally
  3. Provide a clear way to cancel image processing without clearing the entire conversation
  4. Consider adding a configuration option for maximum image size threshold

Additional Context

This bug is particularly problematic when using MCP tools for web automation/testing, where screenshots are commonly used but their sizes can vary significantly depending on the page content and viewport settings.

---

<img width="826" height="511" alt="Image" src="https://github.com/user-attachments/assets/9365aeea-7c45-43d5-85bd-25a0c9295e2f" />

Thank you for your attention to this issue!

What Should Happen?

  1. When an image is too large, Claude should gracefully fail and move on without retrying
  2. The ESC key or stop button should completely cancel the image viewing attempt
  3. Claude should NOT automatically retry viewing the same too-large image in a loop
  4. User should be able to continue the conversation normally after the error
  5. The suggested action "Double press ESC" should actually work to escape the loop

Error Messages/Logs

● chrome-devtools - navigate_page (MCP)(type: "url", url: "https://psychological-cloudflare.pages.dev/login")
  └ # navigate_page response
    Successfully navigated to https://psychological-cloudflare.pages.dev/login.
    ## Pages
    0: https://psychological-cloudflare.pages.dev/login [selected]

● chrome-devtools - list_network_requests (MCP)(resourceTypes: ["fetch","xhr"])
  └ # list_network_requests response
    ## Network requests
    No requests found.
  # take_screenshot response
    Took a screenshot of the current page's viewport.
    Saved screenshot to /var/folders/l6/vqzbztvn2j58pk7xw5yvqrkm0000gn/T/chrome-devtools-mcp-QjiI7D/screenshot.png.

● Read(/var/folders/l6/vqzbztvn2j58pk7xw5yvqrkm0000gn/T/chrome-devtools-mcp-QjiI7D/screenshot.png)
  └ Read image (5MB)

● Image was too large. Double press esc to go back and try again with a smaller image.

> continue

● Image was too large. Double press esc to go back and try again with a smaller image.

[Loop continues indefinitely - only /clear can escape]

Steps to Reproduce

  1. Configure an MCP tool that can take screenshots (e.g., chrome-devtools-mcp)
  1. In Claude Code, use the MCP tool to navigate to a webpage:
  • Ask Claude to navigate to a URL and take a screenshot
  1. The MCP tool successfully takes a screenshot and saves it (e.g., 5MB+ PNG file)
  1. Claude automatically attempts to read/view the screenshot image
  1. Error appears: "Image was too large. Double press esc to go back and try again with a smaller image."
  1. Try to escape the loop:
  • Type "continue" → Claude retries viewing the same large image → same error
  • Press stop → Ask a different question → Claude still tries to view the image → same error
  • Double press ESC → Does NOT effectively cancel the operation
  1. The loop continues indefinitely. The ONLY way to escape is using /clear command, which loses all conversation context.

Claude Model

Opus

Is this a regression?

Yes, this worked in a previous version

Last Working Version

_No response_

Claude Code Version

2.0.61

Platform

Anthropic API

Operating System

macOS

Terminal/Shell

Terminal.app (macOS)

Additional Information

_No response_

View original on GitHub ↗

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