Summary
When the terminal window is small/minimized, the model picker truncates model display names at ~14 chars, losing version disambiguation. Example: Claude Fable 5.1 -> Claude Fable 5., GPT-6 Astra -> GPT-6 Astr, Muse Spark 1.2 -> Muse Spark 1.. This makes it impossible to distinguish models (e.g. 1.2 vs 1.3, 5 vs 5.1) and is an accessibility failure. Affects workflow when using a tiled/minimized terminal on Niri/Wayland.
Expected Behavior
Full model identifiers should remain accessible even in a narrow terminal. Either:
- Responsive layout (wrap / two lines), or
- Truncate with … + show full name on focus/selection/tooltip, or
- Horizontal scroll, or
- Show full id (claude-fable-5-1, gpt-6-astra, muse-spark-1.3) in detail pane
No information loss at any width. WCAG 1.4.10 Reflow compliance.
Actual Behavior
Names are hard-truncated without ellipsis at the column boundary. The CLI commandcode --list-models shows full ids correctly (68 models), but the interactive TUI does not. In a 60-80 column terminal:
- Claude Fable 5.1 renders as Claude Fable 5.
- GPT-6 Astra renders as GPT-6 Astr
- Muse Spark 1. / Muse Spark 1.3 ambiguous
User initially thought models were mislabeled.
Steps to reproduce the issue
- Open a terminal with narrow width (~60-80 cols) or minimize/tile the window on Niri
- Run commandcode (v1.50.1) and open model selector (--model or /model)
- Observe truncated names in the list
- Maximize terminal -> names render correctly -> confirms width-dependent truncation
Command Code Version
1.50.1
Operating System
Linux
Terminal/IDE
Unknown
Shell
fish
Session file (optional)
No response
Fix prompt (optional)
In command-code TUI model picker (likely dist/cli.mjs / source src/ui/modelPicker.tsx):
- Replace fixed-width slice(0,14) truncation with responsive rendering: if termColumns < 100, either wrap name to second line or truncate with … and expose full displayName + id on focused row.
- Ensure the focused/selected row always shows the full model id (claude-fable-5-1) in the help/footer line, not just the truncated display name.
- Verify by: stty cols 70; commandcode --list-models vs TUI at 70 cols -> TUI should still allow disambiguation. Add test: render picker at 60, 80, 120 cols and assert no two distinct models share the same truncated string.
Additional context
- commandcode --list-models output is correct (full ids).
- Issue is purely presentational/a11y, not data. High impact for keyboard-only and low-vision users who rely on narrow tiled terminals.
- Screenshots: truncated list shows trailing . where version digit is cut.
Summary
When the terminal window is small/minimized, the model picker truncates model display names at ~14 chars, losing version disambiguation. Example: Claude Fable 5.1 -> Claude Fable 5., GPT-6 Astra -> GPT-6 Astr, Muse Spark 1.2 -> Muse Spark 1.. This makes it impossible to distinguish models (e.g. 1.2 vs 1.3, 5 vs 5.1) and is an accessibility failure. Affects workflow when using a tiled/minimized terminal on Niri/Wayland.
Expected Behavior
Full model identifiers should remain accessible even in a narrow terminal. Either:
No information loss at any width. WCAG 1.4.10 Reflow compliance.
Actual Behavior
Names are hard-truncated without ellipsis at the column boundary. The CLI commandcode --list-models shows full ids correctly (68 models), but the interactive TUI does not. In a 60-80 column terminal:
User initially thought models were mislabeled.
Steps to reproduce the issue
Command Code Version
1.50.1
Operating System
Linux
Terminal/IDE
Unknown
Shell
fish
Session file (optional)
No response
Fix prompt (optional)
In command-code TUI model picker (likely dist/cli.mjs / source src/ui/modelPicker.tsx):
Additional context