Interfaces

Subagents

Specialist agents coordinated by a main session for bounded research, coding, writing, or verification tasks.

Subagents

What it is

Specialist agents coordinated by a main session for bounded research, coding, writing, or verification tasks.

In plain terms

Think of dropping a roll of film off at a photo lab instead of developing it yourself: you hand over exactly what’s needed, the lab processes it in its own space, and what comes back is the finished prints — not a log of every chemical bath along the way. That’s a Hermes subagent: a task handed off to a child agent that works in its own space and reports back only the finished result, never the trial-and-error behind it.

Why it matters

Delegating a bounded piece of work — research, coding, writing, verification — to a specialist agent instance, rather than trying to do everything in one continuous context, is what subagents are for. This is the mechanism behind agent team delegation as a workflow pattern: a coordinator breaks a task down and hands pieces to subagents, then integrates whatever comes back. Each subagent typically gets its own session, so the isolation sessions provide is what keeps exploratory subagent work from polluting the coordinator’s own context.

How it works

A delegate_task call spawns a child agent with a completely fresh conversation, its own task_id-scoped terminal session, and a restricted toolset — delegate_task, clarify, memory, send_message, execute_code, and cronjob are always stripped from what a child can call, so it can’t recursively delegate, interrupt the user, or schedule new work in the parent’s name (tools/delegate_tool.py). A child defaults to role=‘leaf’ and can’t spawn its own subagents unless explicitly given role=‘orchestrator’, and delegation.max_concurrent_children (default 3) caps how many run at once. Single-task delegations run in the background automatically; the parent keeps working and the subagent’s result re-enters its conversation as a new message once the child finishes, without ever seeing the child’s intermediate tool calls.

A concrete example

A user asks Hermes to research three competing pricing pages and summarize each. Hermes calls delegate_task with three separate task entries in one batch, each with its own goal and background context, rather than researching each site itself in sequence. All three subagents run concurrently (up to the configured limit), each in its own isolated browsing session. The main conversation keeps responding to other questions while they work, and each subagent’s final summary lands back as a new message only once it’s actually done — never a running commentary of every page it visited.

How it connects

This note belongs to the Interfaces family. Its closest neighboring concepts are: Live Preview, Hermes Desktop, 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

  • Agent Team Delegation
  • Mastering Hermes Desktop: From Local Chat App to an Always-On Agent Control Center
  • Ten Hermes Workflows That Turn a Chatbot into a 24/7 Assistant
  • Ten Underused Hermes Features That Reveal Its Real Power