Search iThub

Search tools, categories and collections. Type at least two characters.

Explore all tools
↑ ↓ to explore resultsEnter to open · Esc to close

Hermes Agent

Self-hosted AI agent by Nous Research with persistent memory, self-written skills, cron jobs and chat gateways

Visit website Save

MIT-licensed agent from Nous Research that runs in a terminal, desktop app, browser or chat apps. It keeps curated memory, writes and refines its own skills, schedules jobs and works with OpenRouter, Anthropic, OpenAI, local or Nous Portal models.

Pricing
Freemium
Deployment
Self-hosted
Platforms
Web, Android, Windows, macOS, Linux
261,259stars57,852forks
7views
Updated

What is Hermes Agent?

Hermes Agent is an open-source AI agent built by Nous Research and published under the MIT license. It runs as a long-lived process on a laptop, a small VPS or a container, and the same agent can be reached from a terminal UI, a desktop app, a browser workspace and messaging platforms such as Telegram, Discord, Slack, WhatsApp, Signal and email. Its distinguishing design is a learning loop: the agent keeps a bounded memory of facts and user preferences, writes reusable skills after complex tasks, refines those skills during use and searches its own past sessions.

Distribution is broad. A shell installer covers Linux, macOS and WSL2, a PowerShell installer covers native Windows, and Hermes Desktop ships as an Apple Silicon DMG, a signed MSIX package for Windows and a Microsoft Store listing. The platform support matrix puts macOS, Windows 10/11, glibc Linux, WSL2 and the nousresearch/hermes-agent Docker image in Tier 1, while Nix and an aarch64 Termux package for Android are best-effort Tier 2 targets. Intel Mac desktop bundles and PyPI installs are not supported.

The current release is v0.23.0, the Hearth Release, published November 5, 2026. Its main change is architectural: one gateway per machine now owns every session, and the CLI, TUI, Desktop, editors, bots and cron attach to it as clients, so a chat has one queue and one history. The release also adds an opt-in Webapp that serves the Desktop workspace in a browser tab, inline images in compatible terminals, a /rewind command, price tags and spend limits for paid MCP tools, pluggable delegation and plugin auto-updates. Desktop moved to Electron 44 and now needs macOS 13 or later and 64-bit Windows. The old browser_* tools were removed in favor of browser_exec, and hermes mcp serve became hermes mcp-serve.

The core is written in Python; first-party installs run on Python 3.14, and the installer pulls in Node.js, ripgrep and FFmpeg through its own package manager. Configuration and state live in a Hermes home directory, ~/.hermes/ on POSIX systems and %LOCALAPPDATA%\hermes on Windows, holding config.yaml, an .env file for keys, memories, skills and a SQLite session store. Tools execute through six built-in terminal backends: local, Docker, SSH, Modal, Daytona and Vercel Sandbox, with more available as plugins.

Hermes is model-agnostic. It works with OpenRouter, Anthropic, OpenAI, Gemini, self-hosted endpoints such as Ollama, vLLM or LM Studio, and Nous Portal, the optional paid subscription from Nous Research that bundles models with hosted web search, image generation, speech and a cloud browser. The agent itself does not include a model; output quality, latency and cost depend on the provider you configure. Full documentation is at hermes-agent.nousresearch.com/docs.

Inside the application

Hermes Agent screenshots

Explore the interface. Open a screenshot to view it at full size.

Hermes Agent dashboard Kanban board with triage, todo, ready, in progress, blocked and done columns
Hermes Agent screenshot 1

Official documentation screenshot of the Kanban board in the Hermes web dashboard, with tasks grouped by worker profile.

Hermes Agent dashboard sessions page listing cron, Discord, Telegram and CLI sessions
Sessions across surfaces

Sessions page of the web dashboard showing one store shared by a cron job, a Discord thread, a Telegram chat and a CLI session, with search and prune controls.

Hermes Agent dashboard MCP page with configured HTTP and stdio servers and a catalog of installable servers
MCP server management

MCP page of the web dashboard with one HTTP and one stdio server configured, plus Nous-approved catalog entries for Linear and n8n.

Hermes Agent dashboard channels page with Telegram, Discord, Slack, Mattermost, Matrix and WhatsApp toggles
Messaging channels

Channels page of the web dashboard, where messaging platforms are configured; credentials are written to ~/.hermes/.env and connected on the next gateway restart.

Hermes Agent dashboard models page with main model setting, token totals, estimated cost and per-model usage cards
Model usage and settings

Models page of the web dashboard showing the main model, 30-day token and cost totals, and usage per model through OpenRouter.

Source: official Hermes Agent project page.

Key capabilities

  • Install on Linux, macOS and WSL2 Run curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash. The script needs Git, curl, tar and SHA-256 utilities, installs code to ~/.hermes/hermes-agent/, places the launcher at ~/.local/bin/hermes and, since v0.23.0, checks out the latest stable release rather than the tip of main. Flags such as --skip-browser, --non-interactive and --include-desktop trim or extend the install, as described in the installation guide.
  • Install on native Windows Run iex (irm https://hermes-agent.nousresearch.com/install.ps1) in PowerShell. The CLI, gateway, TUI and tools work without WSL, with code and data under %LOCALAPPDATA%\hermes. The installer bundles Astral's uv, which some antivirus engines flag as a false positive; the README documents an attestation check and recommends excluding the folder rather than a file hash.
  • Hermes Desktop app A native Electron app that drives the same agent, config, keys, sessions and skills as the CLI. It is distributed as an Apple Silicon DMG, a signed MSIX bundle installed through Windows App Installer, and a Microsoft Store package; the MSIX requires Windows 11 22H2 or later. Version 0.23.0 requires macOS 13 or later and 64-bit Windows. Linux desktop packaging is disabled in the release workflow, so Linux users start the app from a source install with hermes desktop.
  • Docker image and Android The nousresearch/hermes-agent image has latest/stable, main and versioned tags, mounts data at /opt/data and serves the gateway API on port 8642. Docker installs do not support hermes update; you upgrade by pulling a new image. A signed Termux APT repository provides an aarch64 Android package with Python, Node.js and the TUI, but it is a prerelease, Tier 2 target and Android can kill background processes.
  • Terminal UI and classic CLI hermes opens an interactive session with multiline editing, slash-command completion, streaming tool output and interrupt-and-redirect. Version 0.23.0 draws pasted images and screenshots inline in kitty, Ghostty, iTerm2, WezTerm and Konsole, and adds /rewind to edit and resend an earlier prompt or fork a new session from it. hermes doctor diagnoses installation problems.
  • Messaging gateway hermes gateway connects one agent to Telegram, Discord, Slack, WhatsApp, Signal, Mattermost, Matrix, email and other platforms, with every adapter now packaged as a plugin. Unknown direct-message senders are denied by default and must complete pairing with an eight-character code that expires after one hour. See the messaging gateway guide for per-platform setup.
  • Persistent, bounded memory Two files, MEMORY.md (2,200 characters) and USER.md (1,375 characters), are loaded into the system prompt as a frozen snapshot at session start. The agent edits them with its memory tool and must consolidate entries when a write would exceed the limit. FTS5 full-text session search with LLM summaries covers older conversations, and external memory providers such as Honcho can replace or extend the built-in store.
  • Self-written skills Skills are on-demand Markdown documents in ~/.hermes/skills/, compatible with the agentskills.io standard and loaded through progressive disclosure to limit token use. The agent can create a skill after a complex task and revise it later. Version 0.23.0 reduced the bundled set from 58 to 44 and added hermes curator lock so a hand-curated skill cannot be rewritten by the agent, even in YOLO mode.
  • Model and provider choice hermes model or /model provider:model switches between OpenRouter, Anthropic, OpenAI, Gemini, Amazon Bedrock, LM Studio, Ollama Cloud, custom OpenAI-compatible endpoints and Nous Portal without code changes. Fallback providers and provider routing are configurable. When no model is chosen, v0.23.0 defaults to GLM-5.3.
  • Scheduled jobs A built-in cron scheduler creates one-shot or recurring jobs from natural language or cron expressions through a single cronjob_manage tool. Results can go back to the originating chat, a file or another platform, and a no-agent mode runs a script on a schedule with no LLM call. Since v0.23.0 a running job can be cancelled and each job sets its own missed-run policy.
  • Subagents and Kanban board delegate_task spawns isolated subagents for parallel work, and the delegation backend is pluggable, with an official advanced-delegation plugin for per-model or per-profile routing. A SQLite-backed Kanban board in ~/.hermes/kanban.db coordinates multiple named profiles as separate worker processes with retries and crash recovery.
  • Terminal backends and sandboxing Commands run locally or in Docker, SSH, Modal, Daytona or Vercel Sandbox, with Singularity and bubblewrap available as plugins. The Docker backend drops all Linux capabilities except three, sets no-new-privileges and a 256-process limit, and forwards no host environment variables unless listed. Modal and Daytona can hibernate an idle environment.
  • MCP client and catalog MCP servers are declared under mcp_servers in config.yaml, as local stdio commands or remote HTTP endpoints, with per-server tool filtering. A curated catalog of Nous-reviewed servers installs disabled by default, and the consent card shows the exact command or URL each server will run or contact. Paid MCP tools can declare a per-call price, and Hermes asks before a chat exceeds its spend limit. Details are in the MCP guide.
  • OpenAI-compatible API server Setting API_SERVER_ENABLED=true and an API_SERVER_KEY exposes the agent at http://127.0.0.1:8642/v1 with Chat Completions, Responses and Runs endpoints. Frontends such as Open WebUI, LibreChat or LobeChat can then use Hermes, with its tools and memory, as a backend. The API server reference documents session keys, idempotency and terminal statuses.
  • Web dashboard and Webapp hermes dashboard serves an admin panel on 127.0.0.1:9119 for config, keys, sessions, logs, cron, skills, MCP, channels and pairing. The separate Webapp, off by default, serves the full Desktop workspace on port 9120 for a single user. Any non-loopback bind requires an auth provider: basic auth, Nous Portal OAuth or self-hosted OIDC.
  • Profiles Each profile is a separate Hermes home with its own config, keys, SOUL.md persona, memory, sessions, skills and cron jobs. The documentation warns against pointing two agent processes at one profile, because both write memory automatically.
  • Migration from other agents The official agent-importers plugin imports settings, memories and skills from OpenClaw, Claude Code, Codex CLI and Cursor, with a --dry-run preview. API keys are only migrated from OpenClaw, and only with --migrate-secrets.
  • Research tooling Batch trajectory generation and trajectory compression support training tool-calling models, which reflects Nous Research's work on its own Hermes model family. These features are aimed at researchers rather than everyday users.
Advertisements

Where Hermes Agent fits

Running a personal agent on a small VPS

Install with the shell script or the Docker image, run hermes setup to choose a provider, then start hermes gateway as a service and pair your Telegram, Discord or Signal account. The agent keeps working on the server while you talk to it from a phone. Check that approvals.mode is not off, that only paired users can reach the bot, and that hermes gateway stop refuses while sessions are live. The Docker guide covers volume layout and the published ports.

Unattended reports and maintenance jobs

Ask the agent in plain language for a daily summary, a nightly backup check or a weekly audit, or create the job with hermes cron. Choose the delivery target, attach any skills the job needs and decide whether missed runs should catch up. For scripts that do not need a model, use no-agent mode so stdout is delivered verbatim with no token cost. Headless runs deny dangerous commands by default through cron_mode; review that setting before relying on a job that needs elevated actions.

Coding and repository work from the terminal

Start hermes in a project, add context files and let the agent read, patch and test code. With LSP enabled, patch and write_file return in milliseconds while type errors still reach the model. Use /rewind to retry from an earlier prompt, /compress when context grows, and a Docker or SSH backend if the agent should not run commands on your workstation. Spawn subagents with delegate_task for parallel reviews.

Using Hermes as a backend for a chat frontend

Enable the API server in ~/.hermes/.env with a strong API_SERVER_KEY, restart the gateway and point Open WebUI or another OpenAI-compatible client at port 8642. Requests pass through the gateway's admission queue, so they share history and tools with the other surfaces. Verify that interrupted turns report cancelled rather than stop in your client, and keep the port on loopback or behind a proxy.

Coordinating several specialized agents

Create one profile per role, for example a researcher, a coder and a reviewer, each with its own model, skills and memory. Use the Kanban board to hand work between them as durable tasks, or Bot Mode Group Chats in Desktop where a lead bot or automatic router picks who answers. Bot-to-bot exchanges stop after max_hops, four by default, following the last human message. Read the Kanban reference before running workers unattended.

Migrating from OpenClaw or Claude Code

During hermes setup, accept the import offer, or install the agent-importers plugin and run hermes import-agent openclaw --dry-run first. Review the persona file, memories, skills and command allowlist that will be copied, then run the real import. MCP servers from ~/.claude.json map to mcp_servers in config.yaml. Re-check approval rules afterwards, because an imported allowlist carries the old agent's trust decisions.

Install

curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash

Reviews of Hermes Agent

No reviews yet

Be the first to share your experience with Hermes Agent.

Loading review form…

Alternatives to Hermes Agent

Compare Hermes Agent with these tools →