# Hermes Agent web dashboard: a quick tour

> What the local dashboard can do, which pages save you the most time, and how to reach it from another machine without exposing your API keys.

Canonical: https://hermeswatcher.com/learn/web-dashboard-tour  
Section: Learn · Running & deploying  
Last reviewed: Oct 20, 2026  
Basis: Explained from the official Hermes Agent docs and repository (Nous Research). Steps follow the linked official sources.

## Starting it

Run `hermes dashboard`. Hermes starts a local web server and opens `http://127.0.0.1:9119` in your browser. By default it binds to `127.0.0.1` with no login, because it's only reachable from your own machine. Useful flags are `--port` to change the port, `--no-open` to skip opening the browser, and `--host` to change the bind address (see the security section below before you use that one).

The dashboard is machine-level: one server manages every profile. When more than one profile exists, a switcher in the sidebar decides which profile the Config, API Keys, Skills, MCP and Chat pages read from and write to, and an amber banner appears when you're managing a profile other than the dashboard's own. Running a profile alias such as `worker dashboard` opens the same server with that profile selected.

## The pages worth learning first

- Status: version, gateway state and connected platforms, active and recent sessions. It refreshes every five seconds, and a banner warns when the host is low on memory or disk.
- Config: a form editor for `config.yaml`. Dropdowns and toggles appear wherever values are constrained, for example `approvals.mode`. Changes apply to the next session or after a gateway restart.
- API Keys: set, update or delete values in `.env`, with redacted previews. In a running CLI session, `/reload` picks up new keys without a restart.
- Sessions: full-text search, expandable transcripts with tool calls, rename, export to JSON, prune and delete.
- Logs and Analytics: filtered and live-tailed agent, gateway and error logs, plus token and cost breakdowns over 7, 30 or 90 days.
- Cron, Skills, MCP, Webhooks, Pairing and Channels: browser versions of the matching CLI commands. Pairing, for example, lets you approve or revoke messaging users without a terminal.
- System: gateway start, stop and restart, memory provider choice, credential pool, `doctor`, backup and restore, checkpoint pruning and shell hooks.

## The Chat tab

Chat embeds the real Hermes TUI, the same interface as `hermes --tui`, in the browser. Slash commands, the model picker, approval prompts and tool cards all behave the same way. A right-hand rail lists recent sessions for the active profile so you can switch between them, and a workspace picker chooses the folder a new chat starts in. That's handy when you're driving Hermes from a phone and want it working in a specific repository.

The chat pane needs Node.js, like the TUI, and a working pseudo-terminal. On native Windows the official docs describe a ConPTY bridge through `pywinpty`, and note that a missing or broken native dependency can make the terminal unavailable. If you see a banner in place of the terminal, the rest of the dashboard still works, and WSL2 is the documented alternative.

## Reaching it from another machine, safely

The dashboard reads and writes your `.env`, so treat it like the keys themselves. Binding to anything other than `127.0.0.1`, `::1` or `localhost`, including `--host 0.0.0.0`, turns on an authentication gate. The server refuses to start until an auth provider is configured. Three ship with Hermes: username and password (for a trusted network or VPN only), Nous Portal OAuth (recommended for anything reachable from the internet), and self-hosted OIDC. The old `--insecure` flag no longer turns authentication off.

For a personal server, the simplest approach is the one the docs suggest: keep the dashboard on `127.0.0.1` and reach it over an SSH tunnel or Tailscale. You get no login screen and no public port.

## When the dashboard won't start

FastAPI, Uvicorn and the PTY helper are core dependencies. If they're damaged, `hermes pm repair` followed by a restart is the documented fix. On first launch the frontend builds itself automatically if `npm` is available. If you just changed something in Config or Channels and nothing happened, remember that most changes take effect on the next session or gateway restart. Channels has a restart button on the page for exactly that reason.

## Related guides

- [Hermes Agent messaging gateway explained](https://hermeswatcher.com/learn/messaging-gateway-explained.md)
- [Hermes Agent sessions: search and resume past work](https://hermeswatcher.com/learn/sessions-and-session-search.md)
- [How to keep Hermes Agent costs down](https://hermeswatcher.com/learn/keeping-costs-under-control.md)
- [Hermes Agent event hooks explained](https://hermeswatcher.com/learn/event-hooks-explained.md)
- [Hermes Agent profiles: separate agents for separate jobs](https://hermeswatcher.com/learn/profiles-separate-agents.md)

## Related tools

- [Know whether an automation actually worked](https://hermeswatcher.com/workflows/reliable-recurring-automation.md)
- [Deployment: separate the agent host from its execution sandbox](https://hermeswatcher.com/tools/deployment.md)
- [CLI: run bounded tasks and inspect the working environment](https://hermeswatcher.com/tools/cli.md)
- [Desktop: manage conversations and inspect artifacts visually](https://hermeswatcher.com/tools/desktop.md)
- [Scheduled tasks: automate a proven run](https://hermeswatcher.com/tools/scheduling.md)
- [Skills: reusable procedures for repeated work](https://hermeswatcher.com/tools/skills.md)
- [MCP: connect external tool servers](https://hermeswatcher.com/tools/mcp.md)

## Sources

- [Hermes Web Dashboard (official docs)](https://hermes-agent.nousresearch.com/docs/user-guide/features/web-dashboard)
- [CLI Commands Reference: hermes dashboard (official docs)](https://hermes-agent.nousresearch.com/docs/reference/cli-commands)
- [Windows (Native) Guide (official docs)](https://hermes-agent.nousresearch.com/docs/user-guide/windows-native)

---

HermesWatcher is an independent guide. It is not affiliated with or endorsed by Nous Research. The [official Hermes Agent documentation](https://hermes-agent.nousresearch.com/docs) and [repository](https://github.com/NousResearch/hermes-agent) from Nous Research are the authority; each page here lists the official sources it was written from. If this site and the official docs disagree, trust the official docs. Index for agents: https://hermeswatcher.com/llms.txt
