One pasted image and claude-opus-5 won't look at any more images
Nobody has claimed this yet.
- Dominant language
- Shell
- Stars
- 11.2k
- Forks
- 1.9k
- Avg merge
- 14h 16m
- Merged PRs (30d)
- 6
Description
Describe the bug
Pasted a screenshot into a session on claude-opus-5, and after that the agent couldn't view a single image file. Every view call came back with "You've reached the maximum number of images you can view (1)".
The CLI does say what happened:
Removed 2 images from the model request to stay within the model's 1-image limit. User-provided images were prioritized over tool-generated images, with newer messages kept first.
Fair enough as a message, but the result is that one screenshot early on burns the only slot and the agent is blind to images for everything after. Anything needing two images is off the table, like comparing a before/after render or checking a regenerated icon against the reference I just handed it.
Affected version
1.0.84-5
Steps to reproduce the behavior
- Start a session on claude-opus-5
- Paste an image
- Ask it to view two or more image files, same turn or any later turn
- Every one gets refused
I had it generate three solid-color PNGs and view them in one turn. All three blocked. Tried two more four turns later with no new image attached. Also blocked, so the original screenshot was still holding the slot.
One thing that makes this harder to notice: each call returns "Viewed image file successfully" and the limit message together, so at a glance it looks like it worked.
Expected behavior
A higher limit where the model can handle it, or some way for an old image to drop out instead of holding the slot indefinitely. If 1 genuinely is intended, surfacing it in /model or /context would help. Right now you only find out after the agent has already tried to look at something.
Additional context
macOS 26.6.2, arm64, Apple Terminal, zsh.
image_limit turns up as a string in prebuilds/darwin-arm64/runtime.node right next to Copilot-Vision-Request, so it looks like a per-model capability rather than anything I can set. Nothing image-related in ~/.copilot/settings.json or config.json.
The 1.0.84-5 changelog has this under fixed: "When image-heavy requests exceed model limits, user-provided images are prioritized over tool-generated images, newer messages are kept first, and the CLI reports any removals" (#19644). That's presumably what made this visible. No idea whether the limit of 1 is new or was just silent before.
What I didn't check: whether other models are also at 1, or whether the value changed recently. I only tested claude-opus-5 on this version. From inside a session I also can't tell whether it's the retained screenshot specifically or just a counter.
Closest existing issues I found are #3295, #4536 and #4600 (routing and MCP image results) and #965, #3767, #4183 (the 5 MB payload cap). Those look like different problems.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the behavior on claude-opus-5 with version 1.0.84-5 by pasting one image, then requesting multiple image views across turns. Inspect the image_limit value in prebuilds/darwin-arm64/runtime.node and consider the /model or /context surfaces mentioned in the report. Done should mean image-limit behavior is correct or clearly surfaced, with image view results no longer falsely appearing successful.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- node.js, shell
- Domain
- ai, cli
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100