Environment
- OS: WSL2 (Ubuntu) on Windows 11
- Hermes install path:
~/.hermes/hermes-agent/
- Python venv:
~/.hermes/hermes-agent/venv/
- Extras installed:
hermes-agent[web,pty]
- Hermes version: latest main
Steps to reproduce
- Install hermes-agent with
[web] and [pty] extras
- Launch dashboard without
--tui:
~/.hermes/hermes-agent/venv/bin/hermes dashboard --no-open
- Open
http://127.0.0.1:9119 in browser
- Observe: no Chat tab in the left nav
- Navigate to
/chat directly — Chat tab still absent
Expected behaviour
The Chat tab should either:
- Be visible whenever
[pty] extra is installed (dependency-based detection), or
- Show a clear message explaining that
--tui flag is required
/api/pty should not return 401 silently with no user-visible explanation.
Actual behaviour
Two silent failures occur together:
1. Chat tab is hidden
isDashboardEmbeddedChatEnabled() in web/src/lib/dashboard-flags.ts only returns true when window.__HERMES_DASHBOARD_EMBEDDED_CHAT__ is injected, which only happens with --tui. Without it, the Chat route never renders — no error, no explanation.
2. _SESSION_TOKEN is not transmitted
web/src/lib/api.ts reads the token from window.__HERMES_SESSION_TOKEN__, which is injected into index.html server-side (web_server.py:2621). Without --tui, both globals are missing, so every /api/ request is sent without a Bearer token → 401.
Suggested fix
Option A — Add a UI hint in the dashboard:
Render the Chat tab always, but show an inline disabled state with a message:
"Start dashboard with hermes dashboard --tui to enable embedded chat."
Rather than silently hiding the tab entirely.
Option B — Update the documentation:
Add a note to the web dashboard docs page and the hermes dashboard --help
output that the Chat tab requires the --tui flag, e.g.:
--tui Enable embedded TUI chat tab in the web dashboard (requires pty extra)
Labels
documentation · dashboard · ux · chat · tui
Environment
~/.hermes/hermes-agent/~/.hermes/hermes-agent/venv/hermes-agent[web,pty]Steps to reproduce
[web]and[pty]extras--tui:~/.hermes/hermes-agent/venv/bin/hermes dashboard --no-openhttp://127.0.0.1:9119in browser/chatdirectly — Chat tab still absentExpected behaviour
The Chat tab should either:
[pty]extra is installed (dependency-based detection), or--tuiflag is required/api/ptyshould not return 401 silently with no user-visible explanation.Actual behaviour
Two silent failures occur together:
1. Chat tab is hidden
isDashboardEmbeddedChatEnabled()inweb/src/lib/dashboard-flags.tsonly returnstruewhenwindow.__HERMES_DASHBOARD_EMBEDDED_CHAT__is injected, which only happens with--tui. Without it, the Chat route never renders — no error, no explanation.2.
_SESSION_TOKENis not transmittedweb/src/lib/api.tsreads the token fromwindow.__HERMES_SESSION_TOKEN__, which is injected intoindex.htmlserver-side (web_server.py:2621). Without--tui, both globals are missing, so every/api/request is sent without a Bearer token → 401.Suggested fix
Option A — Add a UI hint in the dashboard:
Render the Chat tab always, but show an inline disabled state with a message:
"Start dashboard with
hermes dashboard --tuito enable embedded chat."Rather than silently hiding the tab entirely.
Option B — Update the documentation:
Add a note to the web dashboard docs page and the
hermes dashboard --helpoutput that the Chat tab requires the
--tuiflag, e.g.:--tui Enable embedded TUI chat tab in the web dashboard (requires pty extra)
Labels
documentation·dashboard·ux·chat·tui