Toolsets
What it is
Named bundles of capabilities that control which tools are available.
In plain terms
Think of a toolbox organizer with labeled drawers — one for wrenches, one for screwdrivers — rather than a pile of loose tools on the floor. Toolsets group Hermes’s individual capabilities into named drawers like “browser” or “terminal,” so a person configuring an agent thinks in terms of a handful of drawers instead of dozens of separate tools.
Why it matters
57 named bundles — browser, kanban, terminal, and so on — group individual registry entries so an operator reasons about capability in coherent chunks instead of toggling 69 tools one at a time. Only 25 of those bundles actually surface as configurable through the CLI or dashboard; the rest are compositional or platform-specific groupings assembled from smaller pieces. Business workflows like CRM intake assume specific toolsets are already enabled, which is why toolset configuration is usually the first thing worth checking when a workflow silently underperforms.
How it works
Each entry in the TOOLSETS dictionary lists its tools and any other toolsets it includes, letting bundles compose from smaller ones (toolsets.py). resolve_toolset() walks that graph recursively, tracking visited names to avoid infinite loops on circular includes, and returns the flattened list of tool names a bundle actually grants. A shared _HERMES_CORE_TOOLS list feeds every CLI and messaging-platform bundle so editing one line updates them all, while a special “coding” toolset is marked with a posture flag and auto-selected for code workspaces rather than being something a user toggles by hand.
A concrete example
A workflow author wants an agent that can search the web for solutions, edit files, and run shell commands while debugging a failing build.
- They reference the
debuggingtoolset, which directly grantsterminalandprocess. - Its
includeslist pulls in theweb(search + extract) andfile(read/write/patch/search) toolsets automatically. resolve_toolset("debugging")returns one flat list combining all of it, so the agent’s schema ends up with web search, file access, and shell tools without the author having to name each one individually.
How it connects
This note belongs to the Tools family. Its closest neighboring concepts are: Tool Registry, Configurable Toolsets, Agent Runtime, Personal OS.
Source evidence
vendor/hermes-agent/toolsets.py#<file>— Structural Source Map fallback for toolsets.py. A core source file in the Tool Registry and Toolsets structure within Tools, Toolsets, and MCP.
Workflows
- Business CRM Intake
Related articles
- No article currently mentions this concept by name/alias often enough to qualify (see mention-mining policy).
