The Banner as a Live Snapshot

+15 Mana ✨

Introduction

The welcome banner is the first thing Hermes shows when you launch a session. It is not decoration. It is a compact dump of the agent's current configuration: which model will answer, which tools it can call, which skills are loaded, and which directory it considers home. Every banner element corresponds to a setting you can change, and reading it tells you whether your environment matches your intent.

Key Concepts

  • Model: The provider and model name (e.g., anthropic/claude-sonnet-4-20250514).
  • Terminal backend: How tool commands run (local shell, Docker sandbox, or remote).
  • Working directory: The path the agent treats as its current directory for file tools.
  • Available tools: The toolsets enabled for this session (filesystem, web, terminal, etc.).
  • Installed skills: The reusable agent recipes loaded at startup.

Real World Context

A developer launches Hermes inside a sensitive client repo, expecting the Docker sandbox to be active. The banner says terminal: local. They notice it before typing the first prompt and fix the misconfiguration before the agent runs a single shell command in the wrong context. That two-second glance prevented a real problem.

Deep Dive

A typical banner looks like this:

text
Hermes Agent 2026.5

  Model:     anthropic/claude-sonnet-4-20250514
  Terminal:  docker
  Cwd:       ~/projects/stanza
  Tools:     filesystem, terminal, web, image
  Skills:    investigate, review, ship

Each line is a setting you can change:

  • The model line reflects whichever provider/model you most recently selected with hermes model or /model. Switching mid-session does not retroactively update the banner, but it does change the status bar.
  • The terminal line reflects terminal.backend in config.yaml. The most common values are local (commands run on your host shell), docker (commands run in a sandboxed container), and remote backends for SSH-attached sessions.
  • The cwd line is the directory you launched Hermes from. The agent's filesystem tools start here unless explicitly told otherwise.
  • The tools line lists the active toolsets. Toolsets are bundles (e.g., filesystem covers read/write/edit). The list is shaped by hermes tools config and any -t flags you passed at launch.
  • The skills line lists skills auto-loaded into the session, typically from ~/.hermes/skills/ and any tap registries.

When you resume a previous session with hermes -c or hermes --resume <id>, the banner reflects the resumed session's settings, not your defaults. That is intentional: a resumed session keeps its original runtime so the conversation stays coherent.

Common Pitfalls

  1. Skipping the banner after a config change: You set terminal.backend: docker last week, but a colleague's hermes config set reverted it. The banner is your single proof of what is actually loaded right now.
  2. Assuming the banner updates live: It is printed once at launch. After /model or /tools changes, the status bar reflects the new state, not the banner. Re-read the status bar after a / command, not the banner.

Best Practices

  1. Glance at every banner element on launch: Five fields, one second per field. This single habit catches misconfiguration before you waste a prompt on it.
  2. Treat the banner as a contract: When the banner does not match what you expected, fix the config before you start working. Drifting environments cost more than the two seconds it takes to confirm.

Summary

  • The welcome banner snapshots model, terminal backend, cwd, tools, and skills.
  • Each banner element maps to a configuration setting you control.
  • The banner is printed once at launch and does not auto-refresh after / commands.
  • Reading it on every launch catches drift between intent and environment.

Code Examples

text
Hermes Agent 2026.5

  Model:     anthropic/claude-sonnet-4-20250514
  Terminal:  docker
  Cwd:       ~/projects/stanza
  Tools:     filesystem, terminal, web, image
  Skills:    investigate, review, ship

>
✓ Completed