One pasted image and claude-opus-5 won't look at any more images
还没有人认领这个 Issue。
- 主要语言
- Shell
- 星标
- 11.2k
- 派生
- 1.9k
- 平均合并
- 14 小时 16 分钟
- 30 天内合并 PR
- 6
描述
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.
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
调研方向
使用版本 1.0.84-5 在 claude-opus-5 上复现该行为:粘贴一张图片,然后跨多个轮次请求多个图片视图。检查 prebuilds/darwin-arm64/runtime.node 中的 image_limit 值,并考虑报告中提到的 /model 或 /context 界面。当 image-limit 行为正确或得到明确展示,且图片视图结果不再错误地显示为成功时,即可视为完成。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- node.js, shell
- 领域
- ai, cli
- Issue 类型
- 缺陷
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 活跃度
- 活跃
- 描述清晰度
- 基本清楚
- 新手友好度
- 48/100