Hermes Agent is an open-source, self-improving AI agent built by Nous Research, released in February 2026 under the MIT license. It is a fully autonomous agent rather than an IDE copilot or a chatbot wrapper: it runs as a persistent process, remembers what it learns across sessions, and is reachable from a terminal, a desktop app, or 20+ messaging platforms. This sheet covers the agent core, the official Hermes Desktop app, and practical setup details as of August 2026.
What Hermes Agent is
The pitch from the project itself: it is "the only agent with a built-in learning loop — it creates skills from experience, improves them during use, nudges itself to persist knowledge, and builds a deepening model of who you are across sessions." Key structural facts:
- Developer: Nous Research (the lab behind the Hermes, Nomos and Psyche model families). Repo:
github.com/NousResearch/hermes-agent. - License: MIT; fully self-hostable, no telemetry or analytics. Conversations, memory and skills live locally under
~/.hermes/(or%LOCALAPPDATA%\hermeson Windows). - Cost: the software is free; you pay only for LLM API usage from the provider you choose. Local models via Ollama/vLLM/llama.cpp cost nothing to run.
- Model-agnostic: works with any OpenAI-compatible endpoint — OpenRouter, Anthropic, OpenAI, Google Gemini, Nous Portal, or local servers.
- Scale (observed Aug 2026): ~228k GitHub stars, ~44.9k forks, ~21,600 commits. NVIDIA's blog reported it had crossed 140,000 stars in under three months and was, per OpenRouter, "the most used agent in the world" as of May 2026.
Core capabilities
- Closed learning loop. After each turn a background self-improvement review may save memory or write a skill. Memory writes and skill writes can be gated behind your approval (
memory.write_approval: true,skills.write_approval: true) with/memory pendingand/skills pendingreview. - Persistent memory is two files injected as a frozen snapshot into the system prompt at session start: MEMORY.md (agent notes, 2,200-char limit) and USER.md (user profile, 1,375-char limit), stored in
~/.hermes/memories/. The agent edits them with amemorytool (add/replace/remove); exact duplicates are rejected and entries are security-scanned. On top of that,session_searchruns FTS5 full-text search over all past sessions in~/.hermes/state.dbat ~20ms per query, with no LLM calls. - Skills are on-demand
SKILL.mddocuments (agentskills.io-compatible) in~/.hermes/skills/, loaded via progressive disclosure (skills_list→skill_view). Every installed skill becomes a slash command (/gif-search …,/plan …), up to 5 skills can be stacked per message, and/learnturns docs, repos or pasted notes into a skill automatically. Bundled skills number 40+; a Skills Hub (agentskills.io) provides community ones. - Messaging gateway — one background process (
hermes gateway) serving Telegram, Discord, Slack, WhatsApp, Signal, SMS, Email, Home Assistant, Mattermost, Matrix, DingTalk, Feishu/Lark, WeCom, Weixin, BlueBubbles/iMessage, QQ, Yuanbao, Microsoft Teams, LINE, ntfy, Google Chat and more. Sessions persist across platforms; a delivery ledger gives at-least-once message delivery (3 retries, 24h freshness). - Scheduled automation: built-in cron (
hermes cron, gateway ticks every 60s) with delivery to any platform and natural-language scheduling. - Subagents: isolated workers with their own conversation/terminal for parallel workstreams and zero-context-cost pipelines; A2A v1.0 agent-to-agent protocol arrived in v0.20.0.
- Terminal backends: local, Docker, SSH, Daytona, Singularity, Modal — so the agent runs on a $5 VPS or serverless infra, not just your laptop.
- 60+ built-in tools plus MCP server integration (any MCP server, with per-tool filtering) and web control (search, full browser automation, vision, image generation, TTS) via the Nous Tool Gateway.
- Research features: batch trajectory generation, ShareGPT export, and RL fine-tuning via Atropos.
Hermes Desktop
Hermes Desktop is the official native app (macOS 12+, Windows 10/11, Linux), and it is not a separate product — it drives the same agent core, config, keys, sessions, skills and memory as the CLI and gateway. Start a session in the app, resume it in the terminal; the docs call the app "a native application with a purpose-built UI for chat, configuration, and management."
Under the hood: the packaged app ships an Electron shell with a native React chat surface. The renderer talks to a headless hermes serve process the app launches (a tui_gateway JSON-RPC/WebSocket backend); it is self-contained and never opens the web dashboard. Backend resolution honors HERMES_DESKTOP_HERMES_ROOT, then a managed install, then a hermes on PATH. It shares the ~/.hermes layout with CLI installs.
What's in the app
- Chat: streaming responses with live tool activity, drag-and-drop file attach, right-hand preview rail, composer queue editing, conversation timeline rail, Cmd/Ctrl+F find-in-transcript, per-session YOLO toggle and a live context-usage meter with token breakdown.
- Model picker in the composer: switch model, reasoning effort and fast mode per chat; the picker is sticky local UI state and never overwrites your profile default (set in Settings → Model).
- Artifacts: a browsable gallery of generated images, files and links indexed per session with jump-back-to-chat.
- Git review & worktrees: review pane (Cmd/Ctrl+G) with diff scopes (Uncommitted/Branch/Last turn), stage/revert/commit, "Ask Hermes to open PR", plus
git worktreesupport. - Terminal in the right sidebar (Ctrl+`) with persistent shells and select-to-send output into the composer.
- Memory Graph / Star Map: interactive zoomable node graph of learned skills and memories (
/journey), with edit/delete and a share-code export. - Quick Entry: global-hotkey composer (default Ctrl/Cmd+Shift+Space) usable from anywhere in the OS.
- Voice: same voice mode as elsewhere, including the v0.20.0 streaming conversational voice with barge-in and on-device wake words.
- Plugin SDK (v0.20.0) with Kanban as the founding plugin, plus multiple windows, tabs/panes (Cmd/Ctrl+B / J sidebars), VS Code Marketplace theme import, and a UI language switcher (incl. Simplified Chinese).
- Management panes: Skills, Cron, Profiles, Messaging, Agents/Command Center, session search by id, concurrent multi-profile sessions.
Launch and uninstall
Run hermes desktop from a CLI install, or download the installer from hermes-agent.nousresearch.com. Useful flags: --skip-build, --force-build, --build-only, --source (electron dev mode), --cwd PATH, --hermes-root PATH, --ignore-existing. Uninstall levels (Settings → About → Danger zone): Uninstall Chat GUI only (hermes uninstall --gui) — app gone, agent/config/chats kept; Uninstall GUI + agent, keep my data (hermes uninstall); Uninstall everything (hermes uninstall --full).
⚠️ Distinguish official Hermes Desktop from third-party projects:
fathah/hermes-desktop("Hermes One") is a community-maintained companion app, and hermes-ai.net is an unofficial community site. Neither is affiliated with Nous Research.
Install, setup and platform support
| Method | Command / file | Notes | |
|---|---|---|---|
| Desktop installer (macOS/Windows, recommended) | Download from hermes-agent.nousresearch.com | Installs CLI + desktop app | |
| Linux/macOS/WSL2/Android-Termux | `curl -fsSL https://hermes-agent.nousresearch.com/install.sh \ | bash` | No sudo needed |
| Native Windows | iex (irm https://hermes-agent.nousresearch.com/install.ps1) |
Some features unavailable on native Windows | |
| After CLI-only install | hermes desktop |
Adds the GUI |
The installer auto-handles uv, Python 3.11, Node.js v22, ripgrep, ffmpeg (no manual install needed); only Git is required up front, plus curl/xz-utils on Linux and build-essential for the desktop app. Install layout: per-user installs put code in ~/.hermes/hermes-agent/, the hermes binary at ~/.local/bin/hermes, data in ~/.hermes/; root-mode installs use /usr/local/lib/hermes-agent/, /usr/local/bin/hermes, data under /root/.hermes/.
Platform support tiers: Tier 1 = macOS (Apple Silicon), Windows 10/11 (x86_64 and aarch64), Linux/WSL2, and Docker. Tier 2 (best effort) = Android Termux and Nix. Unsupported: Intel macOS, pypi/uv-tool installs, brew, AUR. Docker installs don't support hermes update — update by pulling a new image.
Fastest provider setup: hermes setup --portal — one OAuth login to Nous Portal covers a model plus all four Tool Gateway tools (web search/extract via Firecrawl, image gen via FAL, TTS via OpenAI, cloud browser via Browser Use). The Portal catalog lists 300+ frontier models on one bill, and the only credential stored on disk is the refresh token at ~/.hermes/auth.json. Alternative providers: OpenRouter (key), any OpenAI-compatible endpoint, or local models (provider: custom, e.g. http://localhost:11434/v1 with Ollama; Hermes' minimum context length is 64,000 tokens).
Security model
Eight defense layers, summarized:
- User authorization (gateway): default-deny. Allowlists per platform (
TELEGRAM_ALLOWED_USERS=…) or global, DM pairing codes (8-char, 1-hour TTL, rate-limited), admin vs regular-user tiers per scope. - Dangerous command approval:
approvals.modeissmartby default (an auxiliary LLM auto-approves low-risk commands, auto-denies dangerous ones, escalates uncertain ones), withmanualoroffalternatives./yoloorhermes --yolobypasses prompts per session — but a hardline blocklist (rm -rf /, fork bombs,ddto block devices, etc.) cannot be overridden by anything, including YOLO. - File write safety: protected paths always blocked (
~/.ssh/,.envfiles, Hermes credential stores); optionalHERMES_WRITE_SAFE_ROOTsandbox (set to/opt/datain the official Docker image). - Isolation: Docker/Singularity/Modal backends with container hardening; dangerous-command checks are skipped inside containers because the container is the boundary.
- Prompt-injection defense: context files and memory entries are scanned; MCP subprocesses get credential/env isolation.
Version and release history
The current release is Hermes Agent v0.20.0 "The Herald" (tag v2026.8.3, released 3 Aug 2026) — real-time streaming voice with barge-in and wake words, A2A v1.0, signed outbound webhooks, grounded citations/fact-checking, desktop artifacts + plugin SDK + quick entry, CLI power commands (! shell mode, /init, /diff, /context, /focus), redirectable turns, self-recovering tools (tool-call iteration limit raised 90 → 500), and reworked context compression. Earlier 2026 highlights: v0.19.0 "Quicksilver" (20 Jul), v0.18.0 "Judgment" (1 Jul), v0.16.0 "Surface" (5 Jun). Releases are dense: v0.20.0 alone rolled in ~3,650 commits and ~1,400 merged PRs.
Bottom line
Hermes Agent is a free (MIT), self-hostable, self-improving agent that runs anywhere and reaches you on every major chat platform, with the official Hermes Desktop app as a polished, feature-rich front end over the identical core. For a newcomer: install via the desktop installer or one-liner, run hermes setup --portal for instant provider + tool coverage, and start with hermes in the terminal or the desktop app — everything shares the same sessions, memory and skills. The main costs are LLM API usage, and the main security knob to know is the smart approval mode (with YOLO as an explicit, blocklist-guarded escape hatch).