Display images inline in terminal using iTerm2/Sixel protocols

Status Fixed / completed
Maintainer reply None cached
Activity 4 comments · opened Feb 27, 2026 · closed Apr 7, 2026

Feature request

Claude Code can read and analyze images but always outputs text descriptions. Terminals like WezTerm, iTerm2, Kitty, and others support inline image display via the iTerm2 inline image protocol or Sixel. Claude Code should render images it processes directly in the terminal output when the terminal supports it.

Use case

When Claude reads an image (screenshot, diagram, mockup), the user has no way to see what Claude is looking at without opening the file separately. Displaying the image inline would make the conversation more natural — you'd see the image alongside Claude's analysis, similar to how the web UI works.

Proposed behavior

  1. Detect terminal image protocol support (iTerm2, Sixel, Kitty graphics protocol)
  2. When Claude references or analyzes an image, render a thumbnail inline in the terminal output
  3. Fall back to the current behavior (clickable file path) when the terminal doesn't support graphics
  4. Respect tmux allow-passthrough for image protocol forwarding

Environment context

Terminals with inline image support: WezTerm, iTerm2, Kitty, Ghostty, foot, mlterm, and others. The iTerm2 protocol is the most widely supported. Yazi, viu, and other CLI tools already use these protocols successfully.

View original on GitHub ↗

4 Comments

JannikLohausComuneo · 5 months ago

Same thing (and probably much easier) in VSCode extension. For example, let claude generate flow graphs via an MCP like mcp-server-chart and directly render it in chat instead of using ASCII art like Client -> Server -> Database

maflot · 5 months ago

I was experimenting with building an MCP plugin around kuva, partly because it has a --terminal flag that renders plots using Unicode braille/block characters, so no image protocol needed, just text.

I haven't been able to get either approach working in Claude Code's terminal:

  • PNG via MCP ImageContent ({ type: "image", data, mimeType }) — Claude the model receives and can analyze the image, but nothing is visible to the user. The tool result just appears collapsed.
  • Braille/Unicode text rendering (--terminal) — I haven't found a way for an MCP tool to emit raw text output that renders directly in the conversation, so I can't test whether this would even display.

Would love to see either image protocol support or even just a way for tool text output to preserve preformatted blocks, which would make braille-style rendering viable without any graphics dependency.

GnarlyMshtep · 4 months ago

Completed? we cannot render pictures inline on terminal?

<img width="1462" height="172" alt="Image" src="https://github.com/user-attachments/assets/c4d6b5c7-2aee-42b7-b874-728ce4ea6bb8" />

github-actions[bot] · 4 months ago

This issue has been automatically locked since it was closed and has not had any activity for 7 days. If you're experiencing a similar issue, please file a new issue and reference this one if it's relevant.