Skip to content

TUI composer/scrollbar jumps during streaming and terminal resize in Ghostty/Zed #24137

@shenjie002

Description

@shenjie002

Bug Description

Hermes TUI appears to have a layout/scroll anchoring issue around the bottom composer/input area.

After upgrading to Hermes Agent v0.13.0, I can reproduce visible jumping not only in Zed's embedded terminal during streaming output, but also in Ghostty when resizing the terminal window. The transcript scrollbar and/or bottom composer area jumps while the layout is recalculated.

This suggests the issue is not Zed-specific; it may be a Hermes TUI resize/layout problem.

Reproduction

Case 1: Streaming output

  1. Open Zed embedded terminal.
  2. Run hermes.
  3. Ask a question that produces a long streamed response.
  4. During streaming, the viewport jumps up/down, seemingly around the bottom composer/input area.

Case 2: Terminal resize

  1. Open Ghostty.
  2. Run hermes.
  3. Resize the terminal window horizontally or vertically.
  4. Observe the Hermes scrollbar / transcript area jumping.

Expected Behavior

  • Bottom composer/input area should remain anchored and stable.
  • Transcript scroll position should remain stable during resize.
  • Streaming output should not cause the viewport to bounce.

Actual Behavior

  • The transcript scrollbar jumps during resize.
  • During streaming, the visible terminal content jumps up/down.
  • It looks like the input/composer area positioning or ScrollBox height calculation is unstable.

Environment

  • Hermes Agent: v0.13.0 (2026.5.7)
  • Launch command: hermes
  • OS: macOS 15.5
  • Hardware: Apple Silicon / M4 Max
  • Terminals reproduced:
    • Zed embedded terminal
    • Ghostty

Related Existing Issue

This may be related to the previously closed issue:

The current behavior seems like a remaining/reintroduced edge case, especially around composer anchoring and ScrollBox/stickyScroll recalculation on resize.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Medium — degraded but workaround existscomp/tuiTerminal UI (ui-tui/ + tui_gateway/)type/bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions