What feature would you like to see?
A TUI preference to disable inline rendering of pasted/attached images as terminal graphics — e.g. a disable_inline_images = true key in tui.toml — so the TUI always falls back to the text placeholder ([Image: name [image/png] 1920x1080]) instead of drawing the picture via the Kitty graphics protocol or iTerm2 OSC 1337.
Right now, whether images render inline is decided once at startup by capability detection that relies purely on terminal environment variables (KITTY_WINDOW_ID, TERM_PROGRAM, WEZTERM_PANE, GHOSTTY_RESOURCES_DIR, ITERM_SESSION_ID, ...). There is no user-facing switch:
tui.toml has no such key (only theme, disable_paste_burst, [editor], [notifications], [upgrade] are parsed).
- No
KIMI_* environment variable controls it either (KIMI_IMAGE_MAX_EDGE_PX / KIMI_IMAGE_READ_BYTE_BUDGET only affect compression before images are sent to the model, not local display).
The only workarounds are stripping the detection variables at launch (env -u KITTY_WINDOW_ID kimi) or running inside tmux — both have side effects unrelated to image display (e.g. kitten commands stop working in that session).
Use cases:
- Large rendered screenshots are visually disruptive and break scrollback/copy-paste.
- Some terminals render the graphics protocols glitchily or slowly.
- Users who simply prefer the compact text placeholder while still attaching the image for the model.
Proposed behavior: when the option is on, pasted images are still attached and sent to the model exactly as today — only the local preview in the terminal falls back to the text placeholder.
Additional information
- Version: 0.26.0, Linux, kitty terminal (
KITTY_WINDOW_ID set).
- Relevant code (as shipped in the binary):
pi-tui/src/terminal-image.ts — detectCapabilities(), renderImage(), and the existing imageFallback() text placeholder, which makes the fallback path look straightforward: force caps.images to null when the preference is set.
What feature would you like to see?
A TUI preference to disable inline rendering of pasted/attached images as terminal graphics — e.g. a
disable_inline_images = truekey intui.toml— so the TUI always falls back to the text placeholder ([Image: name [image/png] 1920x1080]) instead of drawing the picture via the Kitty graphics protocol or iTerm2 OSC 1337.Right now, whether images render inline is decided once at startup by capability detection that relies purely on terminal environment variables (
KITTY_WINDOW_ID,TERM_PROGRAM,WEZTERM_PANE,GHOSTTY_RESOURCES_DIR,ITERM_SESSION_ID, ...). There is no user-facing switch:tui.tomlhas no such key (onlytheme,disable_paste_burst,[editor],[notifications],[upgrade]are parsed).KIMI_*environment variable controls it either (KIMI_IMAGE_MAX_EDGE_PX/KIMI_IMAGE_READ_BYTE_BUDGETonly affect compression before images are sent to the model, not local display).The only workarounds are stripping the detection variables at launch (
env -u KITTY_WINDOW_ID kimi) or running inside tmux — both have side effects unrelated to image display (e.g.kittencommands stop working in that session).Use cases:
Proposed behavior: when the option is on, pasted images are still attached and sent to the model exactly as today — only the local preview in the terminal falls back to the text placeholder.
Additional information
KITTY_WINDOW_IDset).pi-tui/src/terminal-image.ts—detectCapabilities(),renderImage(), and the existingimageFallback()text placeholder, which makes the fallback path look straightforward: forcecaps.imagestonullwhen the preference is set.