Skip to content

Display images inline in terminal using iTerm2/Sixel protocols #29254

Description

@micovi

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions