Terminal Image Display Not Working - Add Support for Terminal Graphics Protocols (WezTerm, iTerm2, Kitty)
Description
Claude Code currently doesn't display images properly in terminal environments that support graphics protocols. When using the Read tool on image files, Claude can "see" and describe the images internally, but they don't render visually in the terminal for the user.
Steps to Reproduce
- Use Claude Code in WezTerm with
enable_kitty_graphics = trueconfigured - Ask Claude to read an image file (e.g.,
/read ~/Desktop/screenshot.png) - Claude successfully processes and describes the image content
- No visual output appears in the terminal window
Expected Behavior
Images should display inline in the terminal using supported graphics protocols:
- WezTerm (Kitty graphics protocol enabled)
- iTerm2 (iTerm2 inline images protocol)
- Kitty (native Kitty graphics protocol)
- Terminals supporting Sixel graphics
Actual Behavior
- Claude Code internally processes images successfully (can describe content accurately)
- No visual output appears in terminal despite terminal having image support
- Users cannot see the images that Claude is analyzing
- This creates a disconnect where Claude says "I can see the image shows..." but user sees nothing
Environment
- OS: macOS Darwin 23.6.0
- Terminal: WezTerm with
enable_kitty_graphics = truein.wezterm.lua - Claude Code Version: Latest (installed via terminal)
- Also tested/affects: iTerm2 with imgcat support
Additional Context
- Tested with various image formats (PNG, JPEG)
- WezTerm imgcat command works outside of Claude Code
- Claude's internal image processing works (can describe images accurately)
- Issue appears to be with passing image data through to terminal display
Workaround
Currently must open images in external viewers (Preview, etc.) while Claude analyzes them separately
Suggested Solution
Implement terminal graphics protocol support to pass through image data when the Read tool processes image files. This would allow users to see the same images that Claude is analyzing, creating a more cohesive experience.
Related
This may relate to existing discussions about terminal graphics protocol support for Sixel, Kitty, and iTerm2 protocols.
This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗