hermes - 💡(How to fix) Fix Add profile/model override parameter to delegate_task

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

Error Message

  • Add validation: if profile doesn't exist, return error with available profiles

Root Cause

When a user says "Use Pro profile to [task]", the agent cannot delegate that task to a higher-spec model because:

  1. delegate_task schema has no profile parameter
  2. delegate_task schema has no model parameter (though the internal function accepts one)
  3. Subagents always inherit parent model with no override mechanism

Code Example

"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."
    ),
}
RAW_BUFFERClick to expand / collapse

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:

  1. delegate_task schema has no profile parameter
  2. delegate_task schema has no model parameter (though the internal function accepts one)
  3. 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

  1. Quality tiering: Route complex reasoning tasks to higher-spec models (Pro), simple tasks to base models
  2. Cost optimization: Use cheaper models for routine delegations, premium models for critical work
  3. 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

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

hermes - 💡(How to fix) Fix Add profile/model override parameter to delegate_task