← Claude Code Hub
✦ Tip #220 Oct 6, 2026

"Request rejected as unprocessable by the model" in Claude Code: too many images, your session survives

"Request rejected as unprocessable by the model" in Claude Code blocks every turn in long sessions with hundreds of screenshots. Why it happens, the fix, and how to save the session if you can't update.

Request rejected as unprocessable by the model in Claude Code: up to 2.1.289 it resends the same images and the API refuses every turn; from 2.1.290 it drops the oldest, steps down to 510 then 255, and the request goes through

TL;DR Update to 2.1.290 or later with claude update and pick the session back up with claude --continue: Claude Code drops the oldest images on its own and retries. If you can't update, /compact summarizes the conversation without the images and lets you carry on.

"Request rejected as unprocessable by the model" is the API refusing a request that carries too many images, or images that are too large. In Claude Code it hits long sessions with hundreds of screenshots: every capture taken by Playwright MCP, Claude in Chrome or computer use, and every image you paste with Ctrl+V, stays in the conversation and rides along with every request. Up to 2.1.289, once the API refused a request, it refused every turn after it.

The full message, as Claude Code 2.1.291 matches it:

Request rejected as unprocessable by the model (too many or oversized images, or unsupported parameters)

Why the session got stuck

The API takes up to 600 images per request (100 on models with a 200k window), and warns that a request with many large images can fail before it reaches that count. Claude Code already trimmed every request to that cap, dropping the oldest images first. The trouble sat below the cap: with several hundred screenshots the request was within it and the API could still refuse it. Claude Code sent the same screenshots on the next turn, and the error came back.

2.1.290 fixed it. When this error arrives, Claude Code drops the oldest images down to the first step below what the request holds (510, 255 or 127) and resends it. If the API refuses again, it goes down another step. Once the API answers, the conversation keeps that limit; if it still refuses at 127, Claude Code stops dropping and you're on to step 3. Each image it drops reaches the model as the text [media removed: request limit]. I read this in the 2.1.291 code; I haven't triggered it with a session of hundreds of screenshots.

How to get out

1. Update

claude --version
claude update

Below 2.1.290 you don't have the fix. If claude update doesn't move you up because you installed with Homebrew or npm, how to update Claude Code has the command for each case.

2. Resume the same session

The session you had open is still on the old version. Leave it with /exit and come back to it on the new one:

claude --continue

The trim runs on every request, including the first one of a resumed session, so the work you've done is still there. What Claude does lose is the oldest screenshots: if you need it to see one again, paste it again.

3. If you can't update, compact

/compact

On a version your company pins, or an old build, /compact is the way out. If the first summary attempt fails, Claude Code retries it with every image in the conversation swapped for the text [image] (read in the 2.1.284 code), so that request has no images left to refuse. You carry on with a written summary instead of the screenshots. If the summary doesn't go through either, /clear and start a new session.

To keep it from happening in long browser sessions: compact yourself at a natural break, before hundreds of screenshots pile up, and when Claude only needs to check a page's structure, ask for Playwright's accessibility tree instead of a screenshot. If what you get instead is "Prompt is too long", that's a different limit: when /compact can't fix it.

Official docs: Vision, request limits · Claude Code changelog, 2.1.290

Free guide

The 51 essentials, as a guide.

One page per tip. Five chapters. What I actually use daily in production. No theory, no fluff.

  • I. Getting started 10 tips
  • II. Awareness 3 tips
  • III. Mastery 22 tips
  • IV. Autonomy 10 tips
  • V. Comparison 6 tips
Are you a professional Web developer?

You'll receive the guide by email · You join the Gravitas newsletter · Unsubscribe anytime

of 51
#

Wmedia · 51 Tips
Free guide · 51 tips · 5 chapters

The 51 essentials, as a guide.

Are you a professional Web developer? · Unsubscribe anytime
Workshop for teams

Multiply your team's output without sacrificing quality: a 6 to 8 hour AI First workshop, online, on the Claude platform.

See the workshop

Want the 51 Claude Code essentials as a guide?