hermes - ✅(Solved) Fix TUI status bar width fluctuates when ticker cycles progress names [1 pull requests, 1 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
NousResearch/hermes-agent#13610Fetched 2026-04-22 08:05:24
View on GitHub
Comments
0
Participants
1
Timeline
4
Reactions
0
Participants
Timeline (top)
labeled ×2cross-referenced ×1renamed ×1

Root Cause

When launching hermes --tui, the status bar width changes continuously because the first ticker item in the row cycles between different progress names of varying lengths. This causes the entire status bar to grow and shrink, creating a jarring and off-putting visual experience.

PR fix notes

PR #13806: fix(tui): fix status bar width fluctuation by capping model name width (Closes #13610)

Description (problem / solution / changelog)

Summary

The TUI status bar's model name field had no width constraint, so when the ticker cycled between model names of different lengths, the entire status bar grew and shrank — creating a jarring visual experience.

Fix: Wrap the model name in a fixed-width <Text width={18} wrap="truncate-end"> container. Long names are truncated with ellipsis, short names stay left-aligned, and the status bar layout remains stable.

Changes

  • ui-tui/src/components/appChrome.tsx: Give the model name a fixed width={18} with truncate-end wrapping

Testing

hermes --tui → observe status bar width stays stable as model name changes

Closes #13610

Changed files

  • agent/prompt_builder.py (modified, +7/-1)
  • hermes_cli/model_normalize.py (modified, +17/-0)
  • hermes_cli/tools_config.py (modified, +9/-1)
  • tests/agent/test_prompt_builder.py (modified, +18/-0)
  • ui-tui/src/components/appChrome.tsx (modified, +4/-1)
RAW_BUFFERClick to expand / collapse

Bug Description

When launching hermes --tui, the status bar width changes continuously because the first ticker item in the row cycles between different progress names of varying lengths. This causes the entire status bar to grow and shrink, creating a jarring and off-putting visual experience.

A status bar is a UI element meant to convey consistent, glanceable information. Its dimensions should remain stable so users can rely on spatial consistency when scanning it. A constantly shifting width undermines this purpose.

Steps to Reproduce

  1. Run hermes --tui
  2. Observe the status bar at the top/bottom of the terminal
  3. The first ticker item alternates between progress names
  4. Watch the status bar width grow and shrink as names cycle

Expected Behavior

The status bar should maintain a fixed width regardless of which progress name is currently displayed. Either:

  • Use a fixed-width field with truncation/padding
  • Reserve enough space for the longest possible name
  • Use a shorter/more consistent identifier (e.g., a fixed abbreviation or icon)

Actual Behavior

The status bar width fluctuates with each provider name change, causing visible layout shifts that distract from the TUI experience.

Environment

  • OS: Fedora Linux (bare metal)
  • Terminal: standard terminal emulator
  • hermes-agent version: latest from upstream

Video Evidence

https://github.com/user-attachments/assets/ccbb4c02-118a-4ccc-9c94-3e185dcbcb72

Proposed Fix

Pad or truncate the provider name field to a fixed width so the status bar layout remains stable. The value can change but the allocated space should not.

extent analysis

TL;DR

Pad or truncate the provider name field to a fixed width to maintain a stable status bar layout.

Guidance

  • Identify the maximum possible length of the progress names and reserve enough space for the longest name to prevent truncation.
  • Consider using a fixed-width field with truncation or padding to ensure the status bar width remains consistent.
  • Review the UI design to determine if using a shorter identifier, such as a fixed abbreviation or icon, would be a suitable alternative.
  • Verify the proposed fix by running hermes --tui and observing the status bar width after implementing the changes.

Example

No code snippet is provided as the issue does not specify the programming language or implementation details.

Notes

The proposed fix assumes that the status bar layout is dynamically generated based on the provider name length. If the layout is static, the solution may need to be adjusted accordingly.

Recommendation

Apply the workaround by padding or truncating the provider name field to a fixed width, as this approach directly addresses the issue of the fluctuating status bar width and provides a consistent user experience.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING