NousResearch/hermes-agent
Session title display and resume UX fixes
Cluster 14082 · hermes cli. Data as of
1 open item. Fix merged in #31710 on 24 May 2026. Check it covers your case.
The short answer
0open issues
1open PR
7items grouped
- Known?
- Yes. 7 related items grouped here, 2 issues already closed.
- Fix event
- A fix was merged to main in PR #31710. Check it covers your case. No release data is tracked.
- Tracker
- The maintainers' tracker marks this
partially resolved, deciding PR #31710. That is separate from the fix event. - Still open
- 0 issues and 1 PR.
Multiple issues and PRs address truncated session titles in the /resume command, including display length limits, prefix matching, and a related security scoping concern for session endpoints.
Open issues0
Open PRs1
- PR#15373fix(cli): increase session list title display from 30 to 50 chars (#14082)
Fixes on record
-
#31710 fix(cli): show full session titles in /resume list (#14082)
files:
cli.py,tests/cli/test_cli_init.pyShow the diff
-
cli.py@@ -6175,7 +6175,7 @@ def _show_recent_sessions(self, *, reason: str = "history", limit: int = 10) -> print(f" {'Title':<32} {'Preview':<40} {'Last Active':<13} {'ID'}") print(f" {'─' * 32} {'─' * 40} {'─' * 13} {'─' * 24}") for session in sessions: - title = (session.get("title") or "—")[:30] + title = session.get("title") or "—" preview = (session.get("preview") or "")[:38] last_active = _relative_time(session.get("last_active")) print(f" {title:<32} {preview:<40} {last_active:<13} {session['id']}") -
tests/cli/test_cli_init.py@@ -360,6 +360,34 @@ def test_resume_updates_hermes_session_id_env_and_context(self, tmp_path): os.environ.pop("HERMES_SESSION_ID", None) _VAR_MAP["HERMES_SESSION_ID"].set(_UNSET) + def test_resume_list_shows_full_long_titles(self, capsys): + """Long session titles render in full in the /resume table — not + truncated to 30 chars (fixes #14082).""" + cli = _make_cli() + cli.session_id = "current" + cli._session_db = MagicMock() + long_title = "Salvage BytePlus Volcengine PR With Fixes" + cli._session_db.list_sessions_rich.return_value = [ + { + "id": "current", + "title": "Current", + "preview": "Current preview", + "last_active": 0, + }, + { + "id": "20260401_201329_d85961", + "title": long_title, + "preview": "fix byteplus pr and resume", + "last_active": 0, + }, + ] + + cli._handle_resume_command("/resume") + output = capsys.readouterr().out + + assert long_title in output + assert "20260401_201329_d85961" in output + def test_sessions_command_no_args_lists_recent_sessions(self, capsys): """/sessions with no args prints the recent-sessions table (TUI parity).
-
3 PRs closed without merging
From the close comments: done elsewhere 1 · duplicate 1 · merged via another change 1
-
#14098 fix(cli): show full titles in /resume session list · merged via another change →
#31710,#14082 -
#14133 fix(cli): show full titles in /resume list instead of silently truncating · duplicate →
#14098 -
#14411 fix(resume): accept unique truncated title prefixes · done elsewhere →
6c44d53,#31710,#14082
Closed issues · 2
How this cluster was grouped
-
Link evidence (
partly structural links): some members are connected by structural evidence (shared changed files, or a closing/superseded reference); the rest are joined by an automated relevance judgement over their text. - Members outside that structural core may belong to a different underlying problem.
-
Pairwise link density
0.26: the share of item pairs that carry a link, counting a structural link in full and a relevance-only link at 0.36.1.00means every pair is linked.
Pick up a Lab task
Check whether a fix covers the open issues here, with your own agent. Bring back evidence for maintainers.
Open the LabAt a glance
- Subsystem
- hermes cli
- Merged PRs
- #31710
- Closed issues
- 2
- Attempts
- 3 PRs closed without merging
- Fix link checked
- 24 May 2026