# Hermes Agent Features and Practical Usage
🚀 The CLI is the developer's daily window into the agent. Just type `hermes` in your repo and you get interactive chat, slash commands, and one-shot execution all in one.
📌 Title and Feature URL
Title: CLI
URL:
📝 Overview
The Hermes CLI is a terminal chat interface. It shows a conversation stream, a fixed input prompt, and a status bar with the current model and token usage, letting you fine-tune behavior with slash commands as you work. Beyond interactive mode it supports single-query runs and session resume.
🔧 How It Works
・Launch modes include interactive (`hermes` or `hermes chat`), single-query (`hermes chat -q "..."`), and resume (`hermes --continue` / `hermes --resume
`).
・The status bar shows model name, token usage (e.g. 12.4K/200K), a color-coded context fill bar, estimated cost, compression count, background task count, and elapsed time.
・Slash commands are rich: `/model` (switch model), `/personality` (helpful, concise, technical, teacher, and more), `/voice on|off|tts`, `/reasoning high`, `/background `, `/sessions`, `/usage`, `/tools`, `/status`.
・Long conversations auto-summarize (compress) as they near the context limit, by default keeping the first 3 turns and last 20 turns and summarizing the middle.
🛠 Practical Usage
・Launch flags shape behavior: `--model` / `--provider` to pick a model, `-s` (`--skills`) to preload skills, `-w` for an isolated git worktree, `--tui` for the modern UI, and `--yolo` to auto-approve tool calls.
・Multiline input is `Alt+Enter` / `Ctrl+J`, external editor is `Ctrl+G`, and interrupt is `Ctrl+C` (double-press within 2s to force exit).
・Define LLM-free shell commands under `quick_commands` in `~/.hermes/config.yaml` and invoke them like `/status`.
・Set `busy_input_mode` to steer to inject input into the running turn via `/steer` while the agent works.
🎯 Use Cases
・From a repo, ask "find why the tests fail and fix them," then adjust with `/model` or `/reasoning` as it runs.
・Spin up parallel, isolated sessions with `/background` to progress separate tasks at once.
・Call `hermes chat -q "..."` one-shot from scripts or pipelines.
⚠️ Caveats
・`Shift+Enter` newlines are terminal-dependent; standard Windows Terminal and macOS cannot distinguish it from Enter.
・`/background` sessions are fully isolated from the main conversation history and share none of the foreground context.
・The CLI strips markdown fences and formatting wrappers from final replies for readability (code blocks and lists remain). Voice mode requires a supported terminal.
#HermesAgent# #DevTools#