claude.ai/code: image preview overlay has no zoom or pan — a tall figure opens at 26% scale and can't be read

Status Open
Maintainer reply None cached
Activity 0 comments · opened Aug 27, 2026

Summary

In claude.ai/code (Claude Code on the web), clicking an image in the transcript opens a preview overlay that scales the image to fit the viewport and then stops there. There is no zoom, no pan, and no 1:1 view, so any figure taller or denser than the screen stays unreadable inside the client — the only way to actually look at it is to download the file and open it elsewhere.

Environment

  • claude.ai/code, Chrome on macOS (Darwin 25.5.0), 2026-08-27
  • Browser viewport 1512x827
  • Also reported on the Claude mobile app driving a Remote Control session

Steps to reproduce

  1. In a claude.ai/code session, have the agent produce a tall figure. Mine was a multi-row render comparison, t4_compare.png, 562x2848.
  2. It appears inline as a thumbnail — the /preview asset, 154x784 — capped by max-h-[360px], so it renders at 71x360.
  3. Click it. The overlay opens full-viewport (1512x827) and loads the /contents asset (562x2848), rendered at 147x747, about 26% of actual pixels.
  4. Try to magnify it. Scroll wheel over the image does nothing. Double-click closes the overlay (it lands on the backdrop). The overlay's only button is Close image preview.

Expected

Fit-to-viewport is a reasonable initial view, but it shouldn't be the ceiling. The preview should offer at least:

  • scroll / pinch to zoom past fit, with drag to pan
  • a 1:1 "actual pixels" toggle

Why it matters

Rendered output is most of what images are for in my sessions — CAD renders, side-by-side geometry comparisons, training curves. At 26% scale the per-row labels and the small geometry differences are exactly what disappears, and those are the thing being judged. Every such figure currently means downloading it and opening an external viewer.

Small related detail: the inline thumbnail's CSS cursor is zoom-in, which advertises a zoom the viewer doesn't actually have.

Related

  • #84503 — same request, scoped to the desktop app (area:desktop)
  • #70619 (closed, macOS), #87428 (closed, macOS video lightbox)
  • #86475 — Remote Control images render as inert cards; different failure, adjacent area

🤖 Filed with Claude Code

View original on GitHub ↗