Skip to content

Pane images (kitty graphics protocol) do not render when the client is attached from iTerm2 #3941

Description

@cassieliang6709

Is this a reproducible bug?

  • I confirm this is a reproducible bug, not a feature request, idea, question, contribution proposal, or direction check.
  • I reproduced this bug on the version and environment reported below using the exact steps provided.

Current behavior

When the herdr client is attached from iTerm2, images displayed by programs inside panes via the kitty graphics protocol never appear on screen; the area stays text-only. The program side is fine (verified with Neovim + image.nvim: it parses and marks the images as rendered), and the pane graphics socket API (pane.graphics.set) accepts the image without error — nothing reaches the screen either way.

Expected behavior

iTerm2 implements the kitty graphics protocol (since iTerm2 3.5), so pane images should render when the client is attached from iTerm2.

Reproduction

  1. On macOS with iTerm2, run herdr.
  2. In any pane, run this self-contained command (embedded 100x50 red PNG, no dependencies):
python3 -c 'import sys; sys.stdout.write("\x1b_Ga=T,f=100,c=25,r=8;iVBORw0KGgoAAAANSUhEUgAAAGQAAAAyAQMAAACQ++z9AAAAIGNIUk0AAHomAACAhAAA+gAAAIDoAAB1MAAA6mAAADqYAAAXcJy6UTwAAAADUExURf8AABniCTcAAAAHdElNRQfqCQsFOSSVVty0AAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDI2LTA5LTExVDA1OjU3OjM2KzAwOjAw6hvNjAAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyNi0wOS0xMVQwNTo1NzozNiswMDowMJtGdTAAAAAodEVYdGRhdGU6dGltZXN0YW1wADIwMjYtMDktMTFUMDU6NTc6MzYrMDA6MDDMU1TvAAAAD0lEQVQoz2NgGAWjYGgCAAK8AAFtkh10AAAAAElFTkSuQmCC\x1b\\")'
  1. Nothing appears. For comparison, the same command in a plain iTerm2 window (no herdr) shows a red rectangle.

The same happens with real applications, e.g. Neovim + image.nvim rendering markdown images in a pane.

Impact

All kitty-graphics output from pane applications is invisible for iTerm2 users: inline images in editors (Neovim image.nvim), image viewers, agent TUIs with image previews. No workaround exists in user configuration.

Environment

  • Herdr version: 0.9.0
  • Update channel (stable or preview): stable
  • Operating system: macOS 26.6.2 (Apple Silicon)
  • Terminal: iTerm2 3.6.11
  • Shell, if relevant: zsh
  • Relevant config, if any: default config; terminal.kitty_graphics not set

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingkitty-protocolKitty keyboard or graphics protocol behaviormacosaffects macOS-specific behaviormaintainer-neededrequires maintainer judgment or maintainer-only reproductionp2valid narrow or ordinary defect with limited impact or a practical workaroundrenderingterminal emulation, reflow, layout, graphics, or output rendering

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions