[Bug]: Inline images in the TUI are painted over following output and hide it

Author: ayalcohCreated Sep 16, 2026Updated Sep 16, 2026

What happens

When a tool result renders an image inline in the TUI (e.g. a read of a .jpg/.png), the image is painted on top of the output that comes after it instead of reserving rows for itself. Everything the image overlaps is hidden: subsequent tool boxes, file paths, and status lines are covered by the image bitmap and never become readable.

In the screenshot below, a read .omo/research/.../w08-epithet-tail.jpg renders a contact-sheet image. Three following tool-call boxes are sliced through by it, and the next line is truncated mid-path to 260916.md — the left portion of that line is under the image. The obscured output is not recoverable by scrolling; the image stays anchored over it.

Steps to reproduce

  1. Run omo in a terminal with inline graphics support (Ghostty).
  2. Have the agent read an image file so the result renders inline.
  3. Let the turn continue producing output (further tool calls, status lines).
  4. The image overlaps and hides the output rendered after it.

Expected

The inline image should occupy its own reserved block of rows in the transcript, so following output is laid out below it and stays fully visible.

Actual

The image is drawn over the following output region, permanently occluding that text.

Environment

  • omo-ai 5.0.0-0.beta.65
  • Ghostty 1.3.1
  • macOS (Darwin 25.5.0), arm64 (Apple M4)
  • Node v24.15.0

Screenshot

Source: code-yeongyu/oh-my-openagent