Oversized image (>2000px) bricks session with unrecoverable API error

Resolved 💬 3 comments Opened May 14, 2026 by jameswasher Closed May 18, 2026

Summary

Dragging an image larger than 2000px into the chat causes the API to reject the turn with:

An image in the conversation exceeds the dimension limit for many-image requests (2000px). Start a new session with fewer images.

Once this happens, every subsequent message in the session fails with the same error — there's no way to remove the offending image from the conversation, so the session is effectively dead. The only recovery is to start a new session, losing all context.

Repro

  1. Open a Claude Code session.
  2. Drag an image with any dimension > 2000px into the input.
  3. Send the message.
  4. Get the API error.
  5. Try sending any follow-up — same error, forever.

Why this is bad UX

The client knows the image dimensions at drag/paste time. It should never accept an attachment the API will reject. Failing at send-time (and then failing every subsequent send) is the worst possible failure mode — the user loses the entire session's context.

Suggested fixes (in order of preference)

  1. Pre-flight check on drop/paste — if the image exceeds 2000px on any side, reject it immediately with a clear message: "Image too large (max 2000px per side). Resize and try again." The image never enters the conversation.
  2. Auto-downscale on drop — resize client-side to fit within 2000px before attaching. Most users don't care about the original resolution for screenshots.
  3. Allow removing the offending image from a failed turn — at minimum, let the user edit/delete the attachment from the last message so the session can recover.

Today there is no recovery path, which is uniquely frustrating.

Environment

  • Claude Code CLI, latest
  • macOS (Darwin 25.3.0)

View original on GitHub ↗

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