What Subagent delegation is for
Delegation lets the main agent spin up child agents for separate parts of a task, such as researching several topics at once or reviewing different files. Each child starts with a fresh conversation and only the goal and context it was given. That keeps the parent's context clean and lets the work run in parallel. Results come back as structured fields, and you can request a JSON output schema. Settings under delegation in config.yaml control concurrency, iteration limits, nesting depth, optional git-worktree isolation and a separate model for children.
What you need
- A working Hermes install with a configured model provider
- Optional: a git repository and the local terminal backend if you want per-child worktree isolation
Set it up
- 1
Ask the agent to delegate parallel work; it calls the delegate_task tool with a goal, context or a batch of tasks
- 2
Tune limits in
~/.hermes/config.yamlunder delegation, such as max_concurrent_children (default 10), max_iterations (default 250) and max_spawn_depth (default 1) - 3
Optionally set delegation.model and delegation.provider to run children on a cheaper model
Check it works
- Follow live child transcripts under <hermes_home>/cache/delegation/live/<delegation_id>/
- Open the
/agentsmonitor in the TUI, or press Ctrl+T in the classic CLI, to watch child status - Check each result's status, exit_reason and schema_valid fields
Limits and failure points
- Children know only what the goal and context contain, and leaf children cannot use memory, send_message, cronjob or delegate further
- Delegation is not durable: a process restart does not resume running children, so use cron jobs for work that must survive restarts
- Nested trees multiply cost quickly, and batches above the concurrency limit fail rather than being truncated
Primary sources
Spotted something wrong or out of date? Tell us on X at @HermesWatcher (opens in a new tab) and we will fix it.