Hermes Agent

RawGraph
Hermes Agent
DeveloperNous Research
RepositoryNousResearch/hermes-agent
Initial repository creationJuly 22, 2025
First tagged public releaseMarch 12, 2026 (v0.2.0)
LicenseMIT
Primary implementationPython, with TypeScript and shell components
Minimum Python version3.11
Supported host environmentsLinux, macOS, WSL2, Android via Termux, native Windows (early beta)
InterfacesCLI, TUI, Hermes Desktop, messaging gateway, ACP integration, MCP server, REST API
Latest tagged releasev0.20.2 (August 16, 2026)[33]
Websitehttps://hermes-agent.nousresearch.com/

Hermes Agent is an open-source AI agent platform developed by Nous Research. Official project materials describe it as a long-running agent runtime that combines a terminal interface, tool use, persistent memory, scheduled jobs, browser automation, and messaging integrations in one system. The project is MIT licensed, requires Python 3.11 or newer, and is distributed through its managed installers, Hermes Desktop, and a public GitHub repository.[1][2][5][6][18][41][42]

Although it is built by the same lab that publishes the Hermes family of language models, Hermes Agent is not itself a standalone large language model. The documentation presents it as an orchestration layer that can run on multiple providers and endpoints, including Nous Portal, OpenRouter, OpenAI, Anthropic, AWS Bedrock, Hugging Face, DeepSeek Direct, xAI, GitHub Copilot, Gemini, and a growing list of regional providers. It can also expose its own messaging capabilities to outside clients through Model Context Protocol support.[2][6][15][17]

The project's defining tagline is "the agent that grows with you," a reference to its built-in learning loop that creates reusable skills from successful task completions, refines them during use, and persists user-specific knowledge across sessions. This positioning distinguishes Hermes Agent from coding-focused assistants and stateless chatbot wrappers; it is designed to operate as a continuously running personal agent that accumulates capability over time rather than starting from zero with each conversation.[1][18][19]

History

GitHub metadata shows that the NousResearch/hermes-agent repository was created on July 22, 2025.[3] The first public release on GitHub is tagged v2026.3.12, labeled "Hermes Agent v0.2.0," published on March 12, 2026. That initial release notes 63 community contributors, 216 merged pull requests, and 119 resolved issues since the prior v0.1.0 foundation, indicating that substantial private development preceded the public debut.[4][19]

Industry coverage and a contemporaneous Nous Research announcement place the broader public launch of Hermes Agent on February 25, 2026.[20][21] By mid-April the project had passed 95,600 GitHub stars and by early May exceeded 152,000 stars, making it one of the fastest-growing agent repositories of 2026.[3][22]

In May 2026, OpenRouter tracking reportedly placed Hermes Agent at the top of its global daily app and agent rankings, generating roughly 224 billion daily tokens versus 186 billion for the previously dominant OpenClaw project. Several outlets framed the milestone as the moment a community-built, self-improving agent overtook the early local-first AI assistant that had defined the category in late 2025 and early 2026.[20][22]

Desktop release and Bot Mode adoption

Nous Research first shipped its official desktop application in Hermes Agent v0.16.0, whose release notes give a June 5, 2026 release date; GitHub published the tag shortly after midnight UTC on June 6. The application lives in the main Hermes Agent repository under apps/desktop/. It provides a graphical interface to the same agent runtime, profiles, sessions, skills, and memory used by the command-line and gateway surfaces.[29][30][31]

The project's release pace continued after v0.16.0. At the August 17 evidence cutoff, v0.20.2, published on August 16, was the latest tag. Its notes describe it as a patch rollup for downstream builds rather than a curated feature release.[33]

Bot Mode followed a separate path into Desktop. Teknium introduced it on August 13 as a one-day public beta distributed from the separate NousResearch/Hermes-Bot-Mode repository, asked users to report bugs, and said the feedback would be addressed before the feature entered the main application.[34][36] Nous Research's August 16 post still said that bots were "coming" to Hermes Desktop.[35] Pull request 87886 merged at 01:30:54 UTC on August 17, adopting the plugin into the main repository as a bundled, default-on Desktop component. The beta repository was then archived with a notice directing development to the in-tree copy.[37][38]

Because v0.20.2 was tagged before that merge, Bot Mode was present on the main branch but not in the latest tagged release at the cutoff. A managed installation that follows main can receive it through the normal update path, while older checkouts and packages should not be assumed to contain it solely because their version string says v0.20.2.[33][37]

Release timeline

TagPublic nameDateNotable additions
v2026.3.12v0.2.0March 12, 2026First tagged public release; 70+ bundled skills; native MCP client/server; multi-platform messaging; ACP editor integration; native Windows support.[4][19]
v2026.3.17v0.3.0March 17, 2026Maintenance and stability follow-up to v0.2.0.[4]
v2026.3.23v0.4.0March 24, 2026Continued documentation and provider work.[4]
v2026.3.28v0.5.0March 28, 2026Memory and gateway iterations.[4]
v2026.3.30v0.6.0March 30, 2026Tooling refinements.[4]
v2026.4.3v0.7.0April 3, 2026Provider and toolset expansion.[4]
v2026.4.8v0.8.0April 8, 2026Voice mode and messaging upgrades.[4]
v2026.4.13v0.9.0April 13, 2026Stability and skill ecosystem hardening.[4]
v2026.4.16v0.10.0April 16, 2026Nous Tool Gateway: bundled web search, image generation, TTS, and browser automation for paid Portal subscribers; 180+ commits.[4][23]
v2026.4.23v0.11.0April 23, 2026Provider and adapter additions.[4]
v2026.4.30v0.12.0April 30, 2026Autonomous Curator agent for skill libraries on a seven-day cycle; class-first grading rubric for the self-improvement loop; ComfyUI v5, TouchDesigner-MCP, and LM Studio promoted to first-class integrations; Spotify, Yuanbao, Microsoft Teams, and Google Meet adapters; Vercel Sandbox backend.[4][24]
v2026.5.7v0.13.0May 7, 2026"The Tenacity Release": multi-agent Kanban with durable task board and retry budgets; /goal command for cross-turn objectives; video analysis tool; xAI voice cloning; seven UI locales; Google Chat as 20th messaging platform; Checkpoints v2 state persistence; post-write delta linting.[4][25]
v2026.6.5v0.16.0June 5, 2026"The Surface Release": first official Hermes Desktop release, with local and authenticated remote operation on macOS, Windows, and Linux targets.[29][30]
v2026.8.16v0.20.2August 16, 2026Latest tag at the evidence cutoff; a patch rollup published before Bot Mode merged into main.[33][37]

Origins and developer

Hermes Agent is published by Nous Research, an open-source AI lab best known for its Hermes line of language models, the Nous Chat product, the Nous Portal API, the Psyche network, and a long-running emphasis on "open source language model capabilities." Nous Research describes its mission as advancing "human rights and freedoms by creating and proliferating open source language models, supporting their unrestricted availability and use, and furthering their scientific and popular understanding."[26]

The project sits inside Nous Research's wider stack, which includes its Hermes 4 model family, the Nous Portal subscription, and the Psyche distributed training network. Hermes Agent is the lab's first major effort to ship a full agent runtime rather than a model checkpoint, and it is explicitly designed to interoperate with both Nous-hosted models and third-party providers.[2][6][26]

Relationship to OpenClaw

Hermes Agent is widely characterized as the spiritual and technical successor to OpenClaw, the local-first AI assistant originally published by Austrian developer Peter Steinberger in November 2025 under the name Clawdbot. After an Anthropic trademark notice prompted renames to Moltbot and then OpenClaw, Steinberger announced in February 2026 that he was joining OpenAI as a product and engineering lead for personal agents, transferring OpenClaw to an independent foundation with OpenAI as a financial and technical sponsor.[20][22]

Nous Research positioned Hermes Agent as a fully open, community-governed alternative within this transition. The project ships a built-in hermes claw migrate command that imports SOUL.md personality files, memories, skills, API keys, command allowlists, messaging settings, TTS assets, and workspace instructions from existing OpenClaw installations. The repository's topic tags on GitHub still include clawdbot, moltbot, and openclaw, reflecting the genealogy.[3][18]

Independent comparisons published in April and May 2026 generally describe Hermes Agent as preserving OpenClaw's local-first, terminal-centric philosophy while adding longer-running orchestration, a self-improvement loop, and a broader provider matrix. Hermes also expands the runtime model from a developer laptop tool to one that can operate as a continuously running gateway across messaging platforms and remote sandboxes.[20][22][27]

Architecture

The official architecture guide describes Hermes Agent as a platform with multiple entry points feeding a common AIAgent core defined in run_agent.py. The documented entry points include a classic CLI, a --tui modern terminal UI, a messaging gateway with around 20 platform adapters, ACP integration for editors such as VS Code, Zed, and JetBrains IDEs, a batch trajectory runner, an API server, and a Python library interface. Session state is stored in SQLite with FTS5 full-text search, while tool discovery is centralized in a registry-based tool system that holds more than 70 registered tools across roughly 28 toolsets.[17]

SubsystemRole in the documented architecture
AIAgent coreHandles prompt construction, provider resolution, tool execution, retries, context compression, prompt caching, and persistence.[17]
CLI and TUIProvide an interactive terminal-first interface with multiline editing, slash commands, resume support, mouse support in --tui, streaming tool output, and status bars showing model, tokens, and cost.[7][17]
Messaging gatewayRoutes messages from connected platforms through per-chat sessions, runs the cron scheduler every 60 seconds, and delivers responses back through adapters.[8][17]
Session storageUses SQLite and FTS5 in ~/.hermes/state.db for session history, lineage tracking across compressions, profile-scoped separation, and recall.[9][17]
Tool registrySelf-registering tool modules organized into categories and toolsets, with separate execution backends for terminal, browser, web, memory, and orchestration tasks.[11][17]
Provider resolverA shared runtime resolver maps (provider, model) tuples to (api_mode, api_key, base_url) across 18+ providers, supporting OAuth flows and credential pools.[6][17]
Integrations layerConnects to external systems through ACP, MCP, provider APIs, and platform adapters.[15][17]
Context compressionA dedicated module summarizes earlier conversation turns when context exceeds configured thresholds.[17]
Prompt cachingApplies cache breakpoints for providers that support them, including Anthropic-style prefix caching.[17]

The CLI documentation emphasizes that the command-line interface is a full terminal UI rather than a browser interface. It supports interactive chat, model selection via --model and --provider, toolset selection via --toolsets, resumable sessions through --continue or --resume, worktree-based parallel runs with -w, voice input shortcuts when voice mode is enabled, and a separate --tui mode for a more graphical terminal experience with modal overlays.[7]

Hermes Desktop

Hermes Desktop is the official graphical application within the Hermes Agent repository, not a separate agent or language model. It first shipped in v0.16.0. The current source describes a chat interface with streaming tool activity, shared conversation history, file and web previews, project browsing, voice controls, settings, and profile management. Sessions created in Desktop can be resumed through the CLI or TUI because all three surfaces use the same underlying state.[29][30][31]

The application has three documented runtime boundaries. An Electron process owns native windows, update and installation flows, and a restricted preload bridge. A React renderer owns the user interface. Hermes Agent runs as a headless hermes serve process exposing the tui_gateway JSON-RPC and WebSocket API. A local launch can provision or reuse a managed Hermes runtime; the app can instead connect to an authenticated gateway on another computer or to Hermes Cloud. When a remote connection is active, agent tools and terminal commands execute on that remote host rather than the computer displaying the window.[30][31]

The source includes packaging targets for macOS, Windows, and Linux. The official site offers direct setup downloads for macOS and Windows and sends Linux users to the project's release page. An existing managed installation can also build and launch the application with hermes desktop.[31][42] The platform support page lists Desktop as a Tier 1 installation method for Apple Silicon macOS and Windows 10 or 11, while the Desktop documentation describes the app itself as available on macOS, Windows, and Linux.[30][32] These statements describe supported builds and distribution paths; they do not mean that every tagged GitHub release carries a prebuilt installer for every platform.

Desktop supports local, remote, and cloud connections per profile. It can keep multiple named connections and can display profiles from more than one Hermes instance. Remote credentials are stored through the operating system keyring where available; the documentation allows an explicit plain-text fallback on Linux systems without a keyring. The remote backend remains the execution boundary and must be protected with an appropriate authentication provider.[30]

The self-improvement loop

The feature most often singled out in independent coverage of Hermes Agent is its closed learning loop. Whereas typical agent frameworks treat each task as an independent run, Hermes is engineered to convert successful task completions into reusable knowledge artifacts that future runs can load on demand. The loop has three documented components: persistent memory files, a session search layer, and an autonomous skills system.[1][9][10][28]

The agentskills.io specification that Hermes follows treats a "skill" as a Markdown document with YAML frontmatter describing when the skill should be loaded and how it should be used. Skills can be authored manually, generated autonomously by the agent after complex workflows (typically defined as five or more tool calls or any non-trivial solution worth preserving), or downloaded from public registries.[28]

In benchmarks published by Nous Research, agents with 20 or more self-created skills reportedly completed research tasks 40 percent faster than fresh instances starting with no prior skills, without any manual prompt engineering.[21] Beginning in v0.12.0, an autonomous Curator agent maintains the skill library on a seven-day cycle, applying a class-first grading rubric to prune, merge, and rewrite skills that have not held up in subsequent use.[24]

Persistent memory

Hermes Agent stores two distinct memory files under ~/.hermes/memories/. MEMORY.md captures environment facts, conventions, and lessons the agent has learned about a workflow, with a default 2,200 character (roughly 800 token) cap. USER.md captures user preferences, communication style, and personal expectations, with a default 1,375 character (roughly 500 token) cap. Both files are read once at session start and injected as a frozen snapshot into the system prompt to preserve prompt caching behavior across turns.[9]

Updates the agent makes during a session persist to disk immediately but do not appear in the system prompt until the next session begins, a deliberate trade-off that keeps the prefix stable for caching. The agent manipulates memory through three operations exposed by the memory tool: add, replace, and remove. There is no read action because memory content is already in the conversation context.[9]

Session recall

Past CLI and messaging sessions are stored in ~/.hermes/state.db and become searchable through the session_search tool, which uses SQLite FTS5 plus LLM summarization (the documentation references Gemini Flash) for cross-session recall. The session layer also tracks lineage across context compressions so that long-running threads can be resumed without losing their history.[9][17]

Skills system

Skills live in ~/.hermes/skills/. Each SKILL.md file uses YAML frontmatter for fields such as name, description, version, optional platforms, metadata.hermes.tags, metadata.hermes.config, and required_environment_variables. The body of the file typically contains "When to Use," "Procedure," "Pitfalls," and "Verification" sections.[28]

Loading uses a progressive disclosure pattern with three levels. Level 0 lists skill metadata through skills_list() and costs roughly three thousand tokens. Level 1 calls skill_view(name) to retrieve the full content of one skill. Level 2 uses skill_view(name, path) to pull specific reference files attached to a skill. The system tracks the SHA hash of bundled skills so that user modifications can be distinguished from upstream updates, and hermes skills reset can restore bundled defaults.[28]

Skills can also be installed from external registries, including the official optional skills bundle, the skills.sh directory, well-known endpoints at /.well-known/skills/index.json, direct GitHub repositories, and ClawHub and LobeHub marketplaces. All hub skills undergo security scanning before installation.[28]

External memory providers

The memory provider guide lists eight optional plugin backends that can run alongside the built-in memory rather than replacing it: Honcho, OpenViking, Mem0, Hindsight, Holographic, RetainDB, ByteRover, and Supermemory. Each provider adds capabilities such as semantic search, knowledge graphs, or dialectic user modeling on top of the built-in MEMORY.md and session search baseline.[10]

Tool system

Hermes Agent's tool catalog covers web access, terminal and filesystem operations, browser automation, multimodal media, memory, orchestration, scheduling, and outbound messaging. The official documentation describes more than 70 tools across roughly 28 toolsets, with self-registration at import time and a registry that supports per-session toolset filtering.[11][17]

CategoryRepresentative tools
Webweb_search, web_extract
Terminal and filesterminal, process, read_file, patch, search_files
Browser automationbrowser_navigate, browser_snapshot, browser_vision, browser_console
Media and multimodalvision_analyze, image_generate, text_to_speech, video analysis (v0.13.0)
Orchestrationtodo, clarify, execute_code, delegate_task, skill_manage
Memory and recallmemory, session_search, honcho
Automation and deliverycronjob (create/list/update/pause/resume/run/remove), send_message
Integrationsha_* for Home Assistant, mcp_* for MCP servers, rl_* for reinforcement learning trajectories, spotify, discord, discord_admin

Terminal backends

The terminal tool runs commands through one of seven backends. The choice is made at configuration time and can be switched per session.[11]

BackendPurposeTypical use
localDefault, runs directly on the hostPersonal development on a trusted machine
dockerSingle persistent container per session with hardened defaultsLocal sandboxing of agent commands
sshTunnels into a remote hostCloud VMs and air-gapped servers; prevents self-modification of the agent host
singularityRootless HPC containersAcademic and shared cluster environments
modalServerless cloud functions via ModalBurst compute and ephemeral isolation
daytonaPersistent remote development workspacesLong-running cloud sandboxes
vercel_sandboxCloud microVM with snapshot-backed filesystemAlways-on automation with low idle cost

Docker and Modal backends mount credential files read-only or sync them before each command. Both can selectively forward environment variables declared in skill frontmatter or config.yaml.[11][16]

Browser automation

The browser guide documents three cloud backends and three local options. Cloud backends include Browserbase (with random fingerprints, viewport randomization, residential proxies, and CAPTCHA solving), Browser Use (deprioritized if Browserbase credentials are also present), and Firecrawl (cloud or self-hosted, with built-in scraping). Local options include Chrome through CDP via /browser connect, the Camofox anti-detection Firefox stack via Docker, and a local Chromium fallback through the agent-browser CLI.[12]

Pages are rendered as accessibility trees, with interactive elements assigned reference IDs such as @e1 and @e2. The browser_vision tool falls back to a screenshot plus vision model when the accessibility tree is insufficient, which is especially useful for CAPTCHAs and visually complex layouts. JavaScript execution is exposed through browser_console. When cloud providers are configured, Hermes automatically routes private and LAN addresses to local Chromium while sending public URLs through the cloud backend.[12]

Subagent delegation

The delegate_task tool spawns isolated child agents with their own sessions, terminal contexts, and toolsets. The default ceiling is three concurrent subagents, configurable through delegation.max_concurrent_children, with the system using a ThreadPoolExecutor to run them in parallel. Subagents receive only the goal and context parameters supplied by the parent; they have no access to parent conversation history, and only their final summary is returned to the parent context.[13]

Certain tools are unavailable to leaf subagents: delegation itself (so they cannot recurse), clarify, memory, code_execution, and send_message. An opt-in orchestrator role allows subagents to delegate further, gated by max_spawn_depth, which defaults to 1 and is capped at 3. The default per-child timeout is 600 seconds, and a /agents overlay in the TUI shows a live tree view of running subagents with cost and token rollups. Delegation is synchronous: interrupting the parent cancels active children immediately.[13]

Programmatic tool calling

The execute_code tool runs Python scripts that import from hermes_tools, with Hermes generating a stub module whose calls travel over a Unix domain socket RPC layer to the agent process. Only print() output returns to the LLM, which keeps intermediate results out of the conversation context. The documentation says this is the preferred path when a workflow requires three or more tool calls with processing logic between them, bulk filtering or conditional branching, or loops over results.[14]

Available tools inside scripts include web_search, web_extract, read_file, write_file, search_files, patch, and foreground terminal calls. Default limits are 300 seconds of wall time, 50 kilobytes of standard output, and 50 tool calls per execution. Code execution is restricted to Linux and macOS because of its dependency on Unix domain sockets; on Windows the agent automatically falls back to sequential tool calls.[14]

Messaging and automation

A defining feature of Hermes Agent is its messaging gateway, a single background process that connects to all configured platforms, manages per-chat sessions, runs the cron scheduler, and delivers voice messages when voice features are enabled. The cron loop ticks every 60 seconds. Background prompts run in isolated sessions and report results back to the originating chat when they finish.[8]

Supported messaging surfaces

As of v0.13.0 the gateway documents at least twenty platform adapters and several auxiliary surfaces:[8][25]

PlatformNotes
TelegramFull toolset with media, voice transcription, and slash commands; allowlist via TELEGRAM_ALLOWED_USERS.
DiscordFull voice integration, admin commands, and DM pairing.
SlackFull voice integration and threaded messaging.
Google ChatAdded as the 20th adapter in v0.13.0.
WhatsAppText plus media; no native transcription.
SignalText and media; no native transcription.
SMS via TwilioText only.
Email (IMAP/SMTP)Long-form replies and file attachments.
Home AssistantSmart home automation and event listening.
Mattermost, MatrixTeam-chat platforms with full voice support on Matrix.
DingTalk, Feishu/Lark, WeCom, WeCom Callback, Weixin, Yuanbao, QQ BotEnterprise and consumer surfaces popular in mainland China.
BlueBubblesiMessage bridge.
Microsoft Teams, Teams MeetingsAdded as a plugin-shipped adapter in v0.12.0.
LINE, SimpleX ChatMessenger and privacy-focused platforms.
Open WebUI, WebhooksGeneric chat-style frontends and outbound HTTP callbacks.

Each platform uses a distinct toolset such as hermes-telegram or hermes-discord, all of which retain terminal access except for the API server toolset, which excludes clarify, send_message, and text_to_speech. Feature parity varies by platform: Microsoft Teams lacks file support, WeCom Callback lacks images, files, and threads, and SMS supports only text.[8]

Slash commands and background tasks

The gateway exposes a consistent slash-command vocabulary across platforms. Core commands include /new or /reset for fresh conversations, /model [provider:model] to display or switch models, /voice [on|off|tts|join|leave|status] to manage voice features, /background <prompt> to launch isolated background runs, /status, /usage, and /insights <days> for monitoring, /approve and /deny for dangerous-command confirmation, and /goal (added in v0.13.0) for persistent cross-turn objectives.[8][25]

Background tasks spawn separate agent instances with their own session history, inheriting the configured model and toolset but receiving no context from the originating chat. Results return to the same channel when the task completes. Administrators can partition users into admins (full command access) and regular users (restricted slash-command scope), and the partition can differ between direct messages and group chats.[8]

Scheduled tasks

The cron system lets users schedule tasks in either natural language or standard cron syntax, attach one or more skills that should load before execution, and deliver results back to chats, files, or platform targets. Common uses described in the documentation include morning briefings, periodic backups, log digests, and unattended research jobs. A no_agent watchdog mode added in v0.13.0 lets the scheduler invoke deterministic actions without involving an LLM.[8][15][25]

Bot Mode

Bot Mode presents Hermes profiles as a roster of named agents inside Desktop. A bot is therefore an existing profile abstraction, not another model format. The roster can assign a name, title, description or job, and avatar to each profile. Its advanced controls expose the profile's model, SOUL instructions, skills, toolsets, and MCP servers. Each bot has one canonical conversation titled Bot Chat, while its scheduled routines are standard Hermes cron jobs associated with that profile.[30][36][39]

The public rollout had three distinct states. On August 13, 2026, Teknium called the separate repository a one-day public beta and said feedback would be addressed before inclusion in the main app.[34] Nous Research's August 16 announcement remained future tense.[35] The next day, pull request 87886 merged the code as a bundled Desktop plugin that is enabled by default. The standalone repository was archived immediately afterward, and its notice says that current development continues under apps/desktop/src/plugins/hermes-bots/ in the main repository.[37][38] The merge occurred after v0.20.2 was tagged, so this is a source-branch milestone rather than a v0.20.2 feature claim.[33][37]

Direct handoffs use @name references. The active bot sends work to the named profile's canonical Bot Chat and reports the response back to the initiating conversation. The merged plugin can combine profiles from the active gateway with the agent roster exposed by other connections registered in Desktop. The backend can inject the teammate-messaging instructions for profiles carrying Bot Mode metadata, including headless sessions started for another bot. The setting agent.bot_mode_protocol defaults on; older gateways fall back to profile-level SOUL instructions.[30][37][39]

The plugin also implements persistent group rooms for two to six bots. One user message can trigger no more than three serial response rounds and ten posted bot messages. Explicit @name mentions select responders; without a mention, every member is eligible. A bot can return (pass) when it has nothing new to add, and a room stops when a complete round stays silent. Each member keeps its own session titled Group: <name>, and @user marks a request that needs human attention.[36][39] These bounds are implementation controls, not evidence that the bots reach correct decisions.

Bot Mode reuses ordinary Hermes storage. Profile configuration, credentials, memory, skills, sessions, cron jobs, and logs remain under that profile's HERMES_HOME. The plugin stores compact appearance metadata through profile UI metadata and can keep avatars in the profile asset store so they follow the profile across clients.[39][40]

Profiles separate Hermes state but are not security sandboxes. On the local terminal backend, agents normally retain the operating-system user's filesystem access and ordinary HOME, which can expose the same CLI credentials across profiles. Operators who need separate tool identities can set terminal.home_mode: profile, but they must then configure credentials inside that profile home. SOUL instructions do not enforce filesystem boundaries.[40] Bot-to-bot and group prompts instruct agents not to disclose private one-to-one conversations, but that instruction should not be treated as technical access control. Operators can disable the Bots plugin live in Desktop settings, and they can separately change the backend protocol setting.[30][37]

Interoperability

Hermes Agent is designed to work with external model providers and external tool servers.

Model providers

The quickstart guide documents provider setup flows for Nous Portal, OpenAI Codex, Anthropic Claude with OAuth or API keys, OpenRouter, AWS Bedrock, DeepSeek Direct, GitHub Copilot, Google Gemini, xAI, Hugging Face, NovitaAI, NVIDIA NIM (Nemotron), Xiaomi MiMo, z.ai/GLM, Kimi/Moonshot, MiniMax, LM Studio (promoted to first-class in v0.12.0), and arbitrary OpenAI-compatible endpoints such as vLLM, SGLang, or Ollama. The system requires a model with at least 64,000 tokens of context.[6][24] The project pyproject.toml also lists optional extras for messaging, voice, MCP, ACP, Modal, Daytona, Bedrock, and other integrations.[5]

The v0.10.0 release introduced the Nous Tool Gateway, which bundles web search via Firecrawl, image generation via FAL with FLUX 2 Pro, OpenAI-hosted text-to-speech, and browser automation via Browser Use into a single subscription-detected entitlement for paid Nous Portal customers, removing the need to manage separate API keys for those services.[23]

Model Context Protocol

The MCP guide describes two related roles. As an MCP client, Hermes connects to local stdio servers (subprocesses communicating over stdin/stdout for low-latency local access) and remote HTTP servers (for hosted MCP endpoints), discovers their tools automatically, and exposes them to the agent with namespaced identifiers such as mcp_filesystem_read_file or mcp_github_create_issue. The system honors notifications/tools/list_changed for live capability updates.[15]

As an MCP server, Hermes lets outside clients including Claude Code, Cursor, OpenAI Codex, and any other MCP-capable agent use Hermes-managed messaging channels, approval workflows, and other tools. Per-server include and exclude filters let operators whitelist or blacklist tool names and separately control resource and prompt wrappers.[15]

Agent Communication Protocol

ACP integration lets editors such as VS Code, Zed, and JetBrains IDEs talk to Hermes Agent over JSON-RPC, allowing it to operate as the chat backend for editor extensions. ACP support was one of the headline additions in the v0.2.0 release.[17][19]

Security model

The official security guide describes Hermes Agent as using a seven-layer defense-in-depth model. The documented layers cover user authorization, dangerous command approval, container isolation, MCP credential filtering, context-file scanning for prompt injection, cross-session isolation, and input sanitization for terminal backends.[16]

Command approval modes

The command approval system supports three documented modes set through approvals.mode. manual (the default) always prompts before destructive operations. smart uses an auxiliary LLM to assess risk, auto-approving low-risk commands, auto-denying clearly dangerous ones, and escalating uncertain cases for human review. off disables all approval checks, the same posture as session-level YOLO mode.[16]

YOLO mode is triggered with the --yolo CLI flag, the /yolo slash command, or the HERMES_YOLO_MODE=1 environment variable, and the /yolo toggle is per-session. A hardline blocklist remains active regardless of mode: even YOLO will not run rm -rf /, fork bombs, direct device writes, or other catastrophic operations the project considers a hard floor.[16] Default triggers include recursive deletes, world-writable permissions, SQL DROP/DELETE/TRUNCATE, system configuration overwrites, service termination, shell piping such as curl | sh, and privilege escalation patterns.[16]

Container hardening

Docker containers run with all Linux capabilities dropped except DAC_OVERRIDE, CHOWN, and FOWNER. They enforce no-new-privileges, a 256-process cap, and /tmp mounted with size limits and noexec. Default resource limits are 5 GB of memory and 50 GB of disk, both configurable. Inside the container, the dangerous-command checks are skipped because the container itself forms the security boundary.[16]

Authorization and pairing

Gateway authorization is checked in a strict order: per-platform allow-all flag, DM pairing approved list, platform-specific allowlists, global allowlist, global allow-all, and default deny. The DM pairing system issues eight-character codes drawn from a 32-character unambiguous alphabet with a one-hour TTL, a one-per-ten-minute rate limit per requester, and a lockout after five failed attempts. Default behavior is to deny unknown users unless an allowlist or pairing approval is present.[16]

Credentials and prompt injection

MCP subprocesses receive a filtered environment: only PATH, HOME, USER, LANG, LC_ALL, TERM, SHELL, TMPDIR, and XDG_* variables pass through unless explicitly overridden. Credential files such as OAuth tokens mount read-only into Docker containers or sync to Modal before each command. Error messages are scanned for GitHub personal access tokens, OpenAI-style keys, bearer tokens, and similar patterns before being returned to the LLM. Tirith integration detects homograph spoofing, pipe-to-interpreter patterns, and terminal injection attacks before execution, with auto-install and SHA-256 verification of the Tirith binary. Context files including AGENTS.md, .cursorrules, and SOUL.md are scanned for prompt injection attempts and invisible Unicode characters before inclusion in the system prompt.[16] URL tools validate against RFC 1918 private networks, loopback, link-local, CGNAT space, cloud metadata hostnames, and reserved addresses, with redirect chains revalidated at each hop.[16]

Positioning and comparisons

Official project materials consistently position Hermes Agent as a self-hostable, long-running personal agent rather than a chatbot wrapper or a coding-only copilot.[1][2][18] Independent reviews emphasize the same point and contrast Hermes with two adjacent categories.[20][22][27]

Design choiceWhat it implies
Multiple entry points, one core agentHermes runs in terminals, editors, background services, and external integrations rather than only in a chat window.[17]
Built-in memory plus session searchThe product is optimized for continuity across sessions rather than stateless prompt-response interaction.[9]
Skills as procedural memorySuccessful task runs accrete reusable capability, shifting performance from "static capability based on prompt quality" to "cumulative capability that grows with usage."[21][28]
Built-in scheduler and gatewayHermes is meant to continue operating after a single conversation ends and across many messaging surfaces simultaneously.[8][15]
Multiple execution backendsThe agent can run locally, in containers, on remote servers, or on cloud execution backends depending on the deployment model.[11]
Provider-agnostic model setupThe system is designed to switch among many external model providers instead of depending on one fixed model family.[6]
MIT licensing and open developmentSkills, providers, and adapters can be authored by anyone, and the project ships migration tools to reduce switching costs from competing agents such as OpenClaw.[3][18]

Versus coding copilots

Unlike single-purpose coding assistants such as GitHub Copilot or terminal-bound coding agents, Hermes is positioned as a general-purpose personal agent. While it can be used for code editing through ACP and terminal tools, the project frames itself as something that "talks to you from Telegram while it works on a cloud VM," with first-class support for non-coding tasks such as briefings, automations, scheduling, and home assistant integration.[1][17]

Versus chatbot wrappers

Unlike products that wrap a single model behind a chat UI, Hermes brings its own runtime, tool registry, scheduler, gateway, and memory system. It is engineered to run for weeks or months on a $5 VPS or serverless infrastructure that costs "nearly nothing when idle," persisting across model swaps and provider changes through its abstraction layers.[1][6][21]

Versus OpenClaw

As noted earlier, Hermes Agent inherits much of OpenClaw's local-first ethos and offers a direct migration path. Comparison pieces published in spring 2026 generally agree that Hermes extends the OpenClaw model with a stronger runtime, a richer skill ecosystem, broader messaging support, and a self-improvement loop that OpenClaw does not provide natively. By May 2026, public usage trackers showed Hermes generating more daily OpenRouter tokens than OpenClaw, a milestone widely cited as evidence that the community-led successor had eclipsed the original.[20][22][27]

Use cases

Releases, marketing copy, and independent reviews describe a broad range of intended use cases.[1][8][21][25]

Use caseHow Hermes supports it
Personal automationNatural-language cron tasks, scheduled briefings, periodic backups, log digests, and home assistant control.[8][15]
Long-running researchBackground sessions with isolated subagents, web extraction, browser automation, trajectory export, and persistent skills capturing methodology.[11][12][13]
Cross-platform messagingA single agent reachable from Telegram, Discord, Slack, WhatsApp, Signal, email, and more, with consistent slash commands and shared memory.[8]
Coding and editor workflowsACP integration with VS Code, Zed, and JetBrains, plus worktree-based parallel runs and post-write delta linting added in v0.13.0.[17][19][25]
Voice-first interactionVoice memo transcription on supported platforms, text-to-speech replies, and xAI voice cloning added in v0.13.0.[8][25]
Multimodal projectsImage generation, vision analysis, video analysis (v0.13.0), and ComfyUI v5 integration for creative workflows.[11][24][25]
Enterprise pilotsMulti-user gateway with allowlists, DM pairing, scoped slash commands, and hardened Docker or Modal sandboxes.[8][11][16]
Self-hosting on small infrastructure$5 VPS deployments, serverless backends with low idle cost, and migration tooling that imports OpenClaw configurations wholesale.[1][18]

Adoption and reception

By mid-May 2026, the NousResearch/hermes-agent repository reported over 152,000 stars, 24,000 forks, and 11,000 open issues, with Python comprising roughly 88 percent of the codebase and TypeScript another 9 percent.[3] At launch on February 25, 2026, Nous Research presented Hermes Agent as the lab's flagship application of its open-source mission.[20] By April it had reportedly become the fastest-growing AI agent framework on GitHub, hitting 95,600 stars in seven weeks.[21] In May, multiple outlets reported that Hermes Agent had passed OpenClaw on OpenRouter's global rankings by daily token volume, with industry coverage framing the milestone as a turning point for community-built personal agents.[20][22]

Independent reviewers in the AI press generally praised the combination of memory, skills, and cross-platform messaging, while flagging two operational considerations: the cumulative cost of LLM inference for an always-on agent (estimated around USD 0.30 per complex task on budget models) and the operational discipline required to run gateway processes safely with terminal access exposed to multiple users.[21][27]

Availability

Current project documentation treats the managed git installers as the supported distribution path and lists direct PyPI or pip installation as unsupported. Linux, macOS, WSL2, and Termux use the managed shell installer, while native Windows uses the project's PowerShell installer. Post-install provider and tool configuration still runs through hermes model, hermes tools, or hermes setup.[6][18][32][41]

Hermes Desktop is available from the official product site and from the source in the main repository. The site provides direct setup files for macOS and Windows; the Linux download entry points to GitHub releases, and managed source installations can build and start the GUI with hermes desktop.[30][31][42] The official application is the one under NousResearch/hermes-agent; similarly named community wrappers and independent desktop projects are not Hermes Desktop releases from Nous Research.

The source repository is public on GitHub under the MIT license.[3][5] The project also publishes a community Discord, a skills hub at agentskills.io, and an OpenClaw-compatible WeChat bridge called HermesClaw for users migrating from earlier WeChat bot configurations.[18][28]

References

  1. ^Hermes Agent homepage, Nous Research. Accessed May 16, 2026. hermes-agent.nousresearch.com
  2. ^Hermes Agent documentation overview. Accessed May 16, 2026. hermes-agent.nousresearch.com/docs
  3. ^GitHub API metadata for `NousResearch/hermes-agent`. Accessed May 16, 2026. api.github.com/...hermes-agent
  4. ^GitHub releases for `NousResearch/hermes-agent`. Accessed May 16, 2026. api.github.com/...releases
  5. ^`pyproject.toml` in `NousResearch/hermes-agent`, main branch. Accessed May 16, 2026. raw.githubusercontent.com/...pyproject.toml
  6. ^Quickstart, Hermes Agent docs. Accessed May 16, 2026. hermes-agent.nousresearch.com/...quickstart
  7. ^CLI Interface, Hermes Agent docs. Accessed May 16, 2026. hermes-agent.nousresearch.com/...cli
  8. ^Messaging Gateway, Hermes Agent docs. Accessed May 16, 2026. hermes-agent.nousresearch.com/...messaging
  9. ^Persistent Memory, Hermes Agent docs. Accessed May 16, 2026. hermes-agent.nousresearch.com/...memory
  10. ^Memory Providers, Hermes Agent docs. Accessed May 16, 2026. hermes-agent.nousresearch.com/...memory-providers
  11. ^Tools and Toolsets, Hermes Agent docs. Accessed May 16, 2026. hermes-agent.nousresearch.com/...tools
  12. ^Browser Automation, Hermes Agent docs. Accessed May 16, 2026. hermes-agent.nousresearch.com/...browser
  13. ^Subagent Delegation, Hermes Agent docs. Accessed May 16, 2026. hermes-agent.nousresearch.com/...delegation
  14. ^Code Execution, Hermes Agent docs. Accessed May 16, 2026. hermes-agent.nousresearch.com/...code-execution
  15. ^MCP (Model Context Protocol), Hermes Agent docs. Accessed May 16, 2026. hermes-agent.nousresearch.com/...mcp
  16. ^Security, Hermes Agent docs. Accessed May 16, 2026. hermes-agent.nousresearch.com/...security
  17. ^Architecture, Hermes Agent docs. Accessed May 16, 2026. hermes-agent.nousresearch.com/...architecture
  18. ^`README.md` for `NousResearch/hermes-agent`, main branch. Accessed May 16, 2026. github.com/...hermes-agent
  19. ^GitHub release notes for `v2026.3.12` (v0.2.0). Accessed May 16, 2026. github.com/...v2026.3.12
  20. ^"OpenClaw vs Hermes Agent: Why Nous Research's Self-Improving Agent Now Leads OpenRouter's Global Rankings," MarkTechPost, May 10, 2026. marktechpost.com/...ds-openrouters-global-rankings
  21. ^"Hermes Agent Review: 95.6K Stars, Self-Improving AI Agent (April 2026)," TokenMix Blog and DEV Community, April 2026. tokenmix.ai/...iew-self-improving-open-source-2026
  22. ^"Nous Research's Hermes Agent Dethrones OpenClaw as the World's Most-Used Open-Source AI Agent," TechTimes, May 15, 2026. techtimes.com/...ds-most-used-open-source-ai-agent
  23. ^GitHub release notes for `v2026.4.16` (v0.10.0). Accessed May 16, 2026. github.com/...v2026.4.16
  24. ^GitHub release notes for `v2026.4.30` (v0.12.0). Accessed May 16, 2026. github.com/...v2026.4.30
  25. ^GitHub release notes for `v2026.5.7` (v0.13.0). Accessed May 16, 2026. github.com/...v2026.5.7
  26. ^Nous Research home page. Accessed May 16, 2026. nousresearch.com
  27. ^"Hermes Agent vs OpenClaw: Which Open-Source AI Agent Wins in 2026?" KuCoin, 2026. kucoin.com/...ch-open-source-ai-agent-wins-in-2026
  28. ^Skills, Hermes Agent docs. Accessed May 16, 2026. hermes-agent.nousresearch.com/...skills
  29. ^"Hermes Agent v0.16.0 (2026.6.5), The Surface Release," NousResearch/hermes-agent, GitHub. Release notes dated June 5, 2026; tag published June 6 UTC. github.com/...v2026.6.5
  30. ^"Desktop App," Hermes Agent documentation, Nous Research. Accessed August 17, 2026. hermes-agent.nousresearch.com/...desktop
  31. ^`apps/desktop/README.md`, NousResearch/hermes-agent, GitHub. Accessed August 17, 2026. github.com/...README.md
  32. ^"Platform Support," Hermes Agent documentation, Nous Research. Accessed August 17, 2026. hermes-agent.nousresearch.com/...platform-support
  33. ^"Hermes Agent v0.20.2 (2026.8.16)," NousResearch/hermes-agent, GitHub, August 16, 2026. github.com/...v2026.8.16
  34. ^Teknium, "Introducing Bot Mode for Hermes Agent," X post, August 13, 2026. x.com/...2088003994904113614
  35. ^Nous Research, "Bots are coming to Hermes Desktop," X post, August 16, 2026. x.com/...2088802450727637022
  36. ^`NousResearch/Hermes-Bot-Mode`, public beta plugin repository, GitHub. Created August 13 and archived August 17, 2026. github.com/...Hermes-Bot-Mode
  37. ^Teknium, "feat(desktop): bundle Bot Mode as built-in default-on plugin + core teammate protocol," pull request 87886, NousResearch/hermes-agent, merged August 17, 2026. github.com/...87886
  38. ^Teknium, "docs: archive notice, Bot Mode now ships bundled in Hermes Desktop," Hermes-Bot-Mode commit, August 17, 2026. github.com/...e22582b871b9765a65e2992b8b5a8211c9f8
  39. ^Bot Mode bundled plugin source at merge commit 8236b417, NousResearch/hermes-agent, GitHub. github.com/...plugin.js
  40. ^"Profiles: Running Multiple Agents," Hermes Agent documentation, Nous Research. Accessed August 17, 2026. hermes-agent.nousresearch.com/...profiles
  41. ^"Installation," Hermes Agent documentation, Nous Research. Accessed August 17, 2026. hermes-agent.nousresearch.com/...installation
  42. ^Hermes Agent official product and download page, Nous Research. Accessed August 17, 2026. hermes-agent.nousresearch.com

Improve this article

Add missing citations, update stale details, or suggest a clearer explanation. Every suggestion is reviewed for sourcing before it goes live.

4 revisions · v5 · 6,842 words · full history

Fact-checks are independent of edits: a reviewer re-verifies the article against its sources and stamps the date. How we verify

Research and drafting on this wiki are AI-assisted, under named human editorial standards. How AI is used here

Cite this page: AI Wiki. "Hermes Agent." aiwiki.ai, updated 17 Aug 2026. CC BY 4.0. https://aiwiki.ai/wiki/hermes_agent

Suggest edit