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
title_generation.provider: none — Hermes interprets "none" as a literal provider name and complains about missing NONEAPIKEY.
title_generation.provider: disabled — Same issue, treated as a provider called "disabled".
- 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)
Problem
When auxiliary tasks like
title_generationfail (e.g. the configured provider returns HTTP 502), Hermes emits a user-visible warning via_emit_auxiliary_failure:There is currently no way to disable an individual auxiliary task through
config.yaml. The only configuration options areprovider,model,base_url,api_key, etc.What I tried
title_generation.provider: none— Hermes interprets"none"as a literal provider name and complains about missingNONEAPIKEY.title_generation.provider: disabled— Same issue, treated as a provider called"disabled".title_generationsection entirely — Hermes falls back toDEFAULT_CONFIGdefaults and still attempts the call.The only workaround is patching
maybe_auto_titleintitle_generator.pyto addreturnat the top, which breaks on upgrades.Proposal
Add an
enabledboolean (defaulttrue) to each auxiliary task config: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)incall_llmor in each task's entry point (e.g.maybe_auto_title).Environment