[FEATURE] Mods: allow styled text on the same row as the native PromptHint line

Status Open
Reported on v2.1.287
Maintainer reply None cached
Activity 0 comments · opened Oct 2, 2026

Preflight Checklist

  • [x] I have searched existing requests and this feature hasn't been requested yet
  • [x] This is a single feature request (not multiple features)

Problem Statement

A mod can add text to the left side of the footer only through PromptHint's tail, which the terminal draws dim. I want to show the model, the effort and ultracode there, with ultracode in the theme's effortUltra purple.

On 2.1.287 (fullscreen, Windows) every way to style it fails:

  • tail is a plain string, drawn dim.
  • Returning my own tree that embeds the native node (await next(e)) keeps the mode pill and the hints alive, but my elements always go to a second row. I tried a Box with no props, flexDirection="row" with flexWrap="nowrap" and flexShrink={0}, and my text before the native node: same result.
  • A Box with width around the native node is refused: engine node under a Box with prop "width"; the engine drew its own.
  • Replacing the line without the native node loses the live permission-mode pill (⏵⏵ auto mode on), which is in no prop.

So a footer mod has to choose between styled text and the native hints.

Proposed Solution

Any one of these:

  1. Let tail take styled segments, for example [{ text: 'ultracode', color: 'effortUltra', bold: true }], or a small inline tree of Text.
  2. Make the native node inline, so <Box flexDirection="row">{native}<Text color=…>…</Text></Box> stays on one row.
  3. Expose the mode pill (and the hint) as props, so a plugin can redraw the whole line itself.

Alternative Solutions

Keep tail dim, or move the styled text to SessionMode, on the right side of the footer, which does accept a styled tree.

Priority

Low - Nice to have

Feature Category

Interactive mode (TUI)

Use Case Example

A status-bar mod shows Opus 5.5 · xhigh · ultracode on the left of the footer and usage on the right. The right side (SessionMode) draws colors and bold fine; the left side cannot.

Additional Context

Related: #98808 (opaque engine nodes in ui.render).

View original on GitHub ↗