Problem
The delegate_task tool does not have a profile or model parameter in its schema. Subagents always inherit the parent's model configuration, making it impossible to route specific tasks to different model profiles.
When a user says "Use Pro profile to [task]", the agent cannot delegate that task to a higher-spec model because:
delegate_task schema has no profile parameter
delegate_task schema has no model parameter (though the internal function accepts one)
- Subagents always inherit parent model with no override mechanism
Current Behavior
- User: "Use Pro profile to review this document"
- Agent attempts:
delegate_task(profile="pro")
- Result: Parameter silently ignored, subagent runs on parent model
- Expected: Subagent should run on the model assigned to the "pro" profile
Proposed Solution
Add a profile parameter to the delegate_task schema:
"profile": {
"type": "string",
"description": (
"Hermes profile name to use for this subagent (e.g., 'pro'). "
"The subagent will use the model assigned to this profile. "
"Use `hermes profile list` to see available profiles. "
"If not set, subagent inherits the parent's model."
),
}
Implementation Notes
- The internal
delegate_task() function (line 692 in delegate_tool.py) already accepts a model parameter
- Need to add profile resolution logic: look up profile → get assigned model → pass to child agent
- Profile resolution should use the same logic as
hermes profile list
- Add validation: if profile doesn't exist, return error with available profiles
Use Cases
- Quality tiering: Route complex reasoning tasks to higher-spec models (Pro), simple tasks to base models
- Cost optimization: Use cheaper models for routine delegations, premium models for critical work
- User preference: Respect explicit "Use Pro profile" instructions
Files to Modify
tools/delegate_tool.py: Add profile to DELEGATE_TASK_SCHEMA, update handler
- Possibly:
hermes_constants.py or profile resolution logic
Problem
The
delegate_tasktool does not have aprofileormodelparameter in its schema. Subagents always inherit the parent's model configuration, making it impossible to route specific tasks to different model profiles.When a user says "Use Pro profile to [task]", the agent cannot delegate that task to a higher-spec model because:
delegate_taskschema has noprofileparameterdelegate_taskschema has nomodelparameter (though the internal function accepts one)Current Behavior
delegate_task(profile="pro")Proposed Solution
Add a
profileparameter to thedelegate_taskschema:Implementation Notes
delegate_task()function (line 692 in delegate_tool.py) already accepts amodelparameterhermes profile listUse Cases
Files to Modify
tools/delegate_tool.py: AddprofiletoDELEGATE_TASK_SCHEMA, update handlerhermes_constants.pyor profile resolution logic