Visible Plugin Tab Blanks Entire Hermes Dashboard SPA
Bug tracker — July 9, 2026. Hermes bug #61471 is the 4th distinct dashboard regression in under a week. Any user-installed plugin with tab.hidden: false causes the entire dashboard SPA to render as a completely blank white page. Even a 546-byte no-op plugin triggers it. The crash is in the dashboard's own route-building JavaScript, not in the plugin.
100% Reproducible With a Trivial Test
The reporter demonstrated the bug with a 546-byte plugin that does nothing except expose a visible tab in its manifest. The steps are stark:
- Create any plugin with
tab.hidden: falsein its manifest - Restart the Hermes gateway
- Open the dashboard → blank white page
- Set
tab.hidden: truein the manifest - Restart the gateway
- Open the dashboard → works normally
The toggle is binary and deterministic: visible tab = broken dashboard, hidden tab = working dashboard. The bug lives entirely in the dashboard SPA's plugin-tab route resolution code.
What Actually Breaks
The base HTML is delivered to the browser. The React root mount point exists in the DOM. But the SPA's route-building functions that construct navigation for visible plugin tabs fail silently, and the failure prevents the entire React application from mounting. When the dashboard SPA does not mount, every route is blank: /sessions, /system, /plugins, everything.
The root cause is in minified SPA JavaScript that builds routes for visible plugin tabs. When a plugin exposes a visible tab, the route-building code encounters an error and the entire React application fails to initialize. The plugin itself could be completely valid; the crash is in the dashboard's handling of it.
The Recovery Path Requires Filesystem Access
There is no recovery path from within the dashboard because the dashboard is blank. The user must:
- SSH into the machine or open a terminal
- Navigate to the plugin directory
- Edit the plugin manifest to set
tab.hidden: true - Restart the gateway
For users who installed Hermes for its dashboard experience, this is a hard lockout that requires command-line intervention. The bug turns a simple plugin installation into a dashboard outage with no UI recovery path.
The 4th Distinct Dashboard / Web-UI Regression in Under a Week
| Issue | Date | Failure Mode |
|---|---|---|
| #57790 | Jul 3 | Dashboard web down after hermes update, python command missing |
| #57786 | Jul 3 | Dashboard web stopped working — disk space exhaustion from logs |
| #60868 | Jul 8 | Dashboard blank conversations — frontend not calling messages API |
| #61471 | Jul 9 | Any visible plugin tab blanks the entire dashboard SPA |
Four distinct dashboard failures across four different root causes in seven days. Three of the four are frontend JavaScript regressions. For users evaluating whether to trust a local agent platform with daily workflows, dashboard reliability is the primary interface for session history, system configuration, and plugin management. When the dashboard breaks, the user is pushed back to the CLI for everything.
Why This Matters for Review-Site Readers
- The dashboard is the primary UX surface for non-CLI users. A 100% reproducible crash triggered by a plugin configuration flag — not a malformed plugin, not an edge case, but a standard manifest setting — means the plugin system and the dashboard SPA lack basic integration testing.
- The failure is total, not partial. A plugin with a visible tab does not break just the plugin page. It breaks every page in the dashboard. There is no graceful degradation; there is a blank screen.
- Recovery requires leaving the dashboard. Users locked out of the dashboard must use the CLI or filesystem to fix a frontend JavaScript bug. For comparison shoppers evaluating managed vs local agent platforms, this is a support-burden data point.
Case Summary
- Source: GitHub issue #61471
- Opened: Jul 9, 2026
- Labels: P3, bug, comp/dashboard, comp/plugins, type/bug
- Reporter: @fanuman123
Source URL: https://github.com/NousResearch/hermes-agent/issues/61471