[FEATURE] Let the agent read image files with its own vision capabilities

Resolved 💬 4 comments Opened Mar 5, 2026 by ZeterMordio Closed Apr 3, 2026

Claude Code has vision. It can analyze screenshots, describe UIs, spot visual bugs. But it can only use this ability when I manually paste an image into the chat (Cmd+V). The agent itself has no way to look at an image file on disk.

This means that even though Claude can take a screenshot via screencapture or generate a chart via code, it can't actually look at the result. The Read tool returns "Binary files are not supported" for images. There is no ReadImage tool. The agent is effectively blind.

Why this matters

The obvious use case is UI development. Right now, if I ask Claude Code to build a frontend component, it writes the code and hopes for the best. It can't take a screenshot of the result and check if it looks right. A simple ReadImage tool would close that loop and let the agent iterate visually without me having to paste screenshots back and forth.

This generalizes to anything visual: comparing a rendered page against a design mockup, catching layout regressions, verifying chart output, debugging "it looks wrong" issues.

What I'd like to see

Extend the Read tool to handle image files (PNG, JPEG, WebP, etc.) by feeding them into the model as vision input, the same way a pasted image works today. The vision model already supports this. The gap is just in the tool layer.

Context

  • No CLI coding agent has fully solved this. Gemini CLI has the same gap (google-gemini/gemini-cli#3596, google-gemini/gemini-cli#14474). OpenAI's cloud-based Codex can do it (it spins up a browser and views its own work), but the local Codex CLI cannot.
  • Community workarounds exist (Playwright MCP, round-trip test harnesses, Chrome DevTools MCP), but they're all browser-specific and heavyweight. None of them solve the general case of "read this image file."
  • Several existing issues touch on parts of this problem: #18588 (Read tool can't interpret images), #20114 (screen capture for debugging), #4806 (Puppeteer screenshots), #12644 (clipboard paste support). This is the underlying capability they all need.

View original on GitHub ↗

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