Skip to content

fix(cli): show provider in status bar model label - #53620

Open
JuanIsOnline wants to merge 1 commit into
NousResearch:mainfrom
JuanIsOnline:fix/provider-aware-status-bar
Open

fix(cli): show provider in status bar model label#53620
JuanIsOnline wants to merge 1 commit into
NousResearch:mainfrom
JuanIsOnline:fix/provider-aware-status-bar

Conversation

@JuanIsOnline

Copy link
Copy Markdown

Summary

  • show a compact provider/model label in the CLI/TUI status bar when a provider can be resolved
  • keep generic placeholders like custom and auto out of the visible label
  • preserve named custom provider slugs generically, including custom:<slug> and custom_provider:<slug> sources
  • alias openai-codex to codex for a shorter status-bar label

Why

When multiple providers expose the same model ID, the status bar can be ambiguous if it only displays the model name. For example, two configured providers serving gpt-5.5 would both render as gpt-5.5.

Tests

  • scripts/run_tests.sh tests/cli/test_cli_status_bar.py -- -q
  • .venv/bin/python scripts/check-windows-footguns.py cli.py tests/cli/test_cli_status_bar.py
  • .venv/bin/python -m py_compile cli.py

I also started the full scripts/run_tests.sh suite locally, but did not run it to completion. This fresh checkout hit unrelated local environment failures before this change area, including missing optional acp imports and local Hermes home permission errors. The focused status-bar suite passed.

@alt-glitch alt-glitch added type/feature New feature or request comp/cli CLI entry point, hermes_cli/, setup wizard P3 Low — cosmetic, nice to have labels Jun 27, 2026
@alt-glitch

Copy link
Copy Markdown
Collaborator

This was generated by AI during triage.

Related: #39892 (OPEN desktop equivalent -- disambiguates provider-prefixed model names in desktop model menus) and the merged TUI precedent #12306. This PR applies the same provider/model disambiguation to the CLI/TUI status bar (cli.py). Not a duplicate -- different surface and files; cross-linking the disambiguation family.

@teknium1

Copy link
Copy Markdown
Contributor

Thanks for the focused classic-CLI disambiguation. The current classic path still strips the provider at cli.py:4556, and the proposed candidate order matches the runtime state populated at hermes_cli/cli_agent_setup_mixin.py:121-126.

Problems

  • The PR body promises CLI/TUI status-bar coverage, but the modern TUI remains ambiguous: ui-tui/src/components/appChrome.tsx:367-378 strips the model prefix, and ui-tui/src/components/appLayout.tsx:476 passes only model into StatusRule. The gateway already supplies provider in session info at tui_gateway/server.py:3371-3374, but the TUI SessionInfo type currently omits it at ui-tui/src/types.ts:150-168.

Suggested changes

  • Please either narrow the stated scope to the classic CLI or carry the existing provider field through the TypeScript TUI status rule and add a regression test there.

Automated hermes-sweeper review.

@teknium1 teknium1 added the sweeper:blast-moderate Sweeper blast radius: moderate — a subsystem or single platform label Jul 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp/cli CLI entry point, hermes_cli/, setup wizard P3 Low — cosmetic, nice to have sweeper:blast-moderate Sweeper blast radius: moderate — a subsystem or single platform type/feature New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants