[BUG] Claude Code session becomes permanently unusable after uploading oversized images
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?
When attaching Mac Retina screenshots to Claude Code, the API returns:
API Error: 400 {"type":"error","error":{"type":"invalid_request_error","message":"messages.8.content.0.image.source.base64.data: At least one of the image dimensions exceed max allowed size for many-image requests: 2000 pixels"}}
Critical Problem:
Once oversized images enter conversation history, every subsequent message (including plain text) triggers the same error because the API replays the full conversation. The session becomes permanently unusable.
Impact:
Lost 2 days of conversation context
No way to recover or remove problematic messages
Session completely bricked
Root Cause:
Mac Retina screenshots exceed 2000px limit for multi-image requests
No client-side validation or auto-resizing
No recovery mechanism once images are in history
What Should Happen?
Proposed Solutions:
Auto-resize images to stay within API limits before sending
Client-side validation with clear warnings
Ability to remove/resize problematic messages from history
User-friendly error messages instead of raw API dumps
Error Messages/Logs
API Error: 400 {"type":"error","error":{"type":"invalid_request_error","message":"messages.8.content.0.image.source.base64.data: At least one of the image dimensions exceed max allowed size for many-image requests: 2000 pixels"}}
Steps to Reproduce
Reproduction:
Take screenshot on Mac Retina display
Attach to Claude Code conversation
Observe error on that message and all subsequent messages
Claude Model
None
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
Claude Code
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Terminal.app (macOS)
Additional Information
_No response_
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗