Adding Tools
Before writing a tool, ask yourself: should this be a skill instead? WARNING — Built in Core Tools Only This page is for adding a built in Hermes tool to the re
Before writing a tool, ask yourself: should this be a skill instead? Make it a Skill when the capability can be expressed as instructions + shell commands + existing tools (arXiv search, git workflows, Docker management, PDF processing). …
What this page covers
- Overview
- Step 1: Create the Built-in Tool File
- Key Rules
- Step 2: Add the Built-in Tool to a Toolset
- ~~Step 3: Add Discovery Import~~ (No longer needed)
- Async Handlers
- Handlers That Need taskid
- Agent-Loop Intercepted Tools
- Optional: Setup Wizard Integration
- Checklist
Section outline mirrored from the official Hermes Agent documentation. Follow any heading to read the complete text on the source site.
More in Developer Guide
Contributing
Thank you for contributing to Hermes Agent! This guide covers setting up your dev environment, understanding the codebase, and getting your PR merged. Contribut
Architecture
This page is the top level map of Hermes Agent internals. Use it to orient yourself in the codebase, then dive into subsystem specific docs for implementation d
Agent Loop Internals
The core orchestration engine is 's class — a large file that handles everything from prompt assembly to tool dispatch to provider failover. Core Responsibiliti
Prompt Assembly
Hermes deliberately separates: cached system prompt state ephemeral API call time additions This is one of the most important design choices in the project beca
Context Compression and Caching
Context Compression and Caching Hermes Agent uses a dual compression system and Anthropic prompt caching to manage context window usage efficiently across long
Gateway Internals
The messaging gateway is the long running process that connects Hermes to 20+ external messaging platforms through a unified architecture. Key Files File Purpos