Hermes Agent v0.2.0 — The First Public Release
Overview
v0.2.0 — The First Public Release. March 12, 2026. 216 merged pull requests · 63 contributors · 119 resolved issues · from near-zero tests to 3,289.
This is the moment Hermes Agent was introduced to the world. In just over two weeks after the internal v0.1.0 foundation, the project exploded from a small research prototype into a full-featured, community-driven AI agent platform. What makes this release remarkable isn’t just the feature list — it’s the velocity. 63 people from the open-source community contributed code, tests, documentation, and security fixes, shaping the project’s architecture from day one.
v0.2.0 establishes the core DNA that would define Hermes for all subsequent releases: skills that self-improve, a messaging gateway that reaches users everywhere, MCP for tool extensibility, and a relentless focus on security from the start.
Major Features
1. Multi-Platform Messaging Gateway
Hermes isn’t just a CLI tool — it lives where you live. The gateway system brings the full agent experience to seven messaging platforms, with unified session management, media attachments, and per-platform tool configuration.
| Platform | Key Capabilities |
|---|---|
| Telegram | File attachments, document processing (PDF/Office), forum topic isolation, browser screenshots, location sharing |
| Discord | Channel topic context, document/video support, bot message filtering |
| Slack | App mention handling, document/video sharing, structured logging |
| Native media sending (images/video/docs), multi-user session isolation, cross-platform port handling | |
| Signal | Full gateway via signal-cli-rest-api, media URL support |
| Email (IMAP/SMTP) | Full email gateway — send and receive via any email provider |
| Home Assistant | REST tools + WebSocket integration, service discovery |
The gateway core also introduced cross-platform features: subagent tool call visibility, configurable background process notifications, edit_message() with platform fallbacks, and slash commands like /compress, /usage, and /update.
2. MCP (Model Context Protocol) Client
Native MCP support was one of the earliest architectural decisions in Hermes — and a prescient one. Before MCP became the industry standard it is today, Hermes already had a production-grade client.
# MCP servers are configured in config.yaml
# Hermes discovers tools, resources, and prompts automatically
hermes tools # Browse and enable MCP tools in the curses UI
/reload-mcp # Hot-reload MCP servers without restarting
Key capabilities:
- stdio and HTTP transports — connect to local and remote MCP servers
- Sampling support — MCP servers can initiate LLM requests back through Hermes
- Resource and prompt discovery — automatically surface server capabilities
- Automatic reconnection — recover from server crashes without losing state
- Security hardening — tools from MCP servers are subject to the same approval policies
3. Skills Ecosystem — 70+ Skills, Self-Improving Agent
The skills system — Hermes’s signature differentiator — was already comprehensive at launch. 70+ bundled and optional skills across 15+ categories, with a Skills Hub for community discovery.
How skills work:
Skills are Markdown documents stored in ~/.hermes/skills/. When Hermes encounters a relevant task, it loads the matching skill into context as procedural guidance. After completing a task, a background “review fork” evaluates whether the skill helped — and writes or updates skills automatically.
# Browse the skills hub
hermes skills browse
# Skills can be enabled/disabled per platform
# Conditional activation based on tool availability
# Prerequisites ensure skills with unmet dependencies stay hidden
New skills shipped in v0.2.0 include:
- ASCII Art — pyfiglet (571 fonts), cowsay, image-to-ascii
- ASCII Video — Full production pipeline for terminal video
- DuckDuckGo Search — Privacy-first web search with Firecrawl fallback
- Solana Blockchain — Wallet balances, USD pricing, token names
- AgentMail — Agent-owned email inboxes
- Polymarket — Prediction market data (read-only)
- OpenClaw Migration — Official migration tool from OpenClaw to Hermes
- Domain Intelligence — Passive recon: subdomains, SSL, WHOIS, DNS
- Superpowers — Software development skills
- Hermes-Atropos — RL environment development
- Plus: arXiv search, OCR/documents, Excalidraw diagrams, YouTube transcripts, GIF search, and 40+ MLOps skills
(#743 — @teyrebaz33, #785 — @teyrebaz33)
4. Centralized Provider Router
Before v0.2.0, provider logic was scattered across vision, summarization, compression, and trajectory saving — each calling LLMs through its own code path. The centralized provider router unifies all of this behind a single call_llm() / async_call_llm() API.
# All auxiliary consumers now route through one code path:
# resolve_provider_client() → call_llm()
# Automatic credential resolution, error handling, and retry logic
Supported providers at launch:
- Nous Portal — native OAuth integration
- OpenAI Codex — Responses API with ChatGPT subscription support
- OpenRouter — 200+ models with routing preferences
- Kimi Code API — Moonshot’s coding-specialized model
- MiniMax — updated model IDs
- z.ai/GLM — Tsinghua’s bilingual model
- Azure OpenAI — enterprise deployment support
- Self-hosted Firecrawl — web scraping on your own infrastructure
(#1003)
5. ACP Server — Editor Integration
VS Code, Zed, and JetBrains editors can now connect to Hermes via the Agent Communication Protocol (ACP) standard. This means the same agent that runs in your terminal and messaging apps can assist directly within your editor.
(#949)
6. CLI Skin/Theme Engine
A data-driven visual customization system with 7 built-in skins (default, ares, mono, slate, poseidon, sisyphus, charizard) plus support for custom YAML skins. Banners, spinners, colors, and branding are all configurable — no code changes needed.
# ~/.hermes/skins/my-skin.yaml
banner: "custom"
spinner: "dots"
colors:
accent: "#00E5A0"
background: "#0A0A0F"
7. Git Worktree Isolation
hermes -w launches isolated agent sessions in git worktrees, enabling safe parallel work on the same repository. Each worktree gets its own working directory, branch, and agent session — no more stepping on your own toes when running multiple agents.
# Launch Hermes in a git worktree for isolated parallel work
hermes -w
(#654)
8. Filesystem Checkpoints & Rollback
Automatic snapshots are created before destructive file operations. The /rollback command restores files to their previous state — a safety net that lets you experiment without fear.
# Agent automatically snapshots before destructive ops
# /rollback in CLI to restore
# Works across all terminal backends (local, Docker, SSH, Modal)
(#824)
Core Agent & Architecture
Agent Loop Improvements
The agent loop received substantial hardening to handle real-world edge cases:
- Simple fallback model — if the primary provider fails, Hermes transparently falls back to a configured alternative (#740)
- Shared iteration budgets — parent agent and subagent delegation share a unified budget, preventing runaway subagent loops
- 413 payload-too-large handling — instead of aborting, Hermes compresses context and retries (#153)
- Tool call repair middleware — auto-lowercase and invalid tool handler fixes malformed tool calls from the model
- Reasoning effort configuration — control how much thinking the model does before acting (
/reasoningcommand) - Loop detection after compression — prevents the agent from re-reading/searching files after context compression (#705)
Session & Memory
- Named sessions — give sessions unique titles, browse with search filtering, resume by name (#720)
- Honcho user modeling — AI-native cross-session user profile that improves over time (#38)
- Proactive memory flush — async memory persistence on session expiry
- Smart context length probing — detect model context limits with persistent caching
CLI & User Experience
Interactive CLI
The terminal experience received a major polish pass:
/personalitycommand — custom agent personality or disable entirely (#773)- User-defined quick commands — bypass the agent loop for fast, predetermined actions (#746)
/verbose— toggle debug output at runtime (#94)/insights— usage analytics, cost estimation, and activity patterns (#552)/background— manage background processes from the CLI- Bell on complete — terminal bell when agent finishes a task (#738)
- Up/down arrow history — navigate previous commands
- Clipboard image paste — Alt+V / Ctrl+V to paste images
--quiet/-Q— programmatic single-query mode with minimal output--fuck-it-ship-it— bypass all approval prompts for fully automated workflows (#724)
Setup & Configuration
- Modular setup wizard with section subcommands and tool-first UX
- Config migration system — seamlessly upgrade across config format versions (v7 at launch)
hermes tools— per-platform tool enable/disable with curses UIhermes doctor— health checks across all configured providershermes update— with auto-restart for gateway service- Atomic writes for .env — prevent API key loss on crash (#954)
Security
Hermes Agent took security seriously from day one. v0.2.0 shipped with an extensive security hardening layer:
Vulnerability Prevention
| Category | Description |
|---|---|
| Path Traversal | Fixed in skill_view — prevented reading arbitrary files (#220) |
| Shell Injection | Prevention in sudo password piping (#65), tee/process substitution patterns (#280) |
| Symlink Attacks | Boundary check fixes in skills_guard (#386), macOS write deny list bypass (#61) |
| Prompt Injection | Multi-word bypass prevention (#192), cron scanner bypass fix (#63) |
| Dangerous Commands | Multiline bypass detection (#233), --force flag properly blocked (#388) |
Data Protection
- Atomic writes across sessions, cron jobs, .env config, process checkpoints, batch runner, and skill files — preventing data loss on crash
- File permission enforcement — 0600/0700 on sensitive files, .env restricted to owner-only
- FTS5 query sanitization — prevents SQL injection through full-text search queries
- Secret redaction — expandable patterns for stripping secrets from logs and transcripts
- In-memory permanent allowlist — prevents sensitive data from leaking to disk (#600)
Testing — From Zero to 3,289
When v0.2.0 development began, the project had near-zero test coverage. The community responded with a massive testing effort:
- 3,289 tests across agent, gateway, tools, cron, and CLI modules
- Parallelized test suite with pytest-xdist (#802)
- Four batches of unit tests covering core modules, security-critical paths, and the AIAgent loop
- 43 Telegram format tests for italic/bold/code rendering accuracy
- 42 vision tools tests with complete type hints
- Compressor regression tests for tool-call boundary handling
This testing foundation would prove critical as the project continued its rapid iteration — with 3,289 tests catching regressions before they reached users.
RL & Evaluation Environments
Hermes Agent was always designed as a platform for generating agentic training data. v0.2.0 shipped with:
- WebResearchEnv — multi-step web research RL environment (#434)
- YC-Bench — long-horizon agent benchmark environment
- OpenThoughts-TBLite — evaluation environment and scripts
- Local vLLM support — run evaluations against locally hosted models
- Hermes-Atropos — bundled skill for RL environment development (#815)
Windows Compatibility
Windows support was a first-class concern from the start:
- POSIX-only process functions guarded for Windows compatibility
- Native support via Git Bash + ZIP-based update fallback
pywinptyfor PTY support on Windows (#457)- Explicit UTF-8 encoding on all config/data file I/O (#458)
- Drive-letter path handling for regex-based search output (#533)
Upgrade
hermes update
For new installations:
# Linux / macOS / WSL2
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
← Hermes Agent Changelog