Skip to content

Feature: add enabled toggle for auxiliary tasks (title_generation, etc.) #27877

Description

@kyruntime

Problem

When auxiliary tasks like title_generation fail (e.g. the configured provider returns HTTP 502), Hermes emits a user-visible warning via _emit_auxiliary_failure:

⚠ Auxiliary title generation failed: HTTP 502: Error code: 502

There is currently no way to disable an individual auxiliary task through config.yaml. The only configuration options are provider, model, base_url, api_key, etc.

What I tried

  1. title_generation.provider: none — Hermes interprets "none" as a literal provider name and complains about missing NONEAPIKEY.
  2. title_generation.provider: disabled — Same issue, treated as a provider called "disabled".
  3. Removing the title_generation section entirely — Hermes falls back to DEFAULT_CONFIG defaults and still attempts the call.

The only workaround is patching maybe_auto_title in title_generator.py to add return at the top, which breaks on upgrades.

Proposal

Add an enabled boolean (default true) to each auxiliary task config:

auxiliary:
  title_generation:
    enabled: false        # <-- new field
    provider: "auto"
    model: ""
    # ...

When enabled: false, the task should be completely skipped — no LLM call, no warning, no error.

Implementation could be as simple as checking cfg.get("enabled", True) in call_llm or in each task's entry point (e.g. maybe_auto_title).

Environment

  • hermes-agent 0.12.0 (installed from source, editable)
  • Python 3.11
  • macOS (Apple Silicon)

Metadata

Metadata

Assignees

No one assigned

    Labels

    P3Low — cosmetic, nice to havearea/configConfig system, migrations, profilescomp/agentCore agent runtime: loop, agent_init, prompt builder, context-compression, responses endpointtype/featureNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions