Description
The configuration option auxiliary.title.enabled: false (or auxiliary.title_generation.enabled: false) in config.yaml has no effect. Title generation still triggers even when explicitly disabled.
Root Cause
The code that calls maybe_auto_title() does not check the enabled field from the auxiliary config before invoking title generation.
Affected locations:
cli.py (around line 11150) — the CLI session handler
gateway/run.py (around line 15960) — the gateway session handler
In both locations, the code unconditionally calls maybe_auto_title() after a successful response:
if response and result and not result.get("failed") and not result.get("partial"):
try:
from agent.title_generator import maybe_auto_title
...
The enabled key from the auxiliary config dict is never read.
Expected Behavior
When auxiliary.title.enabled: false is set in config.yaml, title generation should be skipped entirely.
Suggested Fix
Before calling maybe_auto_title(), read the config and check the enabled flag:
_aux_cfg = self.config.get("auxiliary", {}) if hasattr(self, "config") and self.config else {}
_title_enabled = True # default: enabled
for _key in ("title", "title_generation"):
_sub = _aux_cfg.get(_key, {})
if isinstance(_sub, dict) and "enabled" in _sub:
_title_enabled = bool(_sub["enabled"])
break
if response and result and not result.get("failed") and not result.get("partial") and _title_enabled:
try:
from agent.title_generator import maybe_auto_title
...
Environment
- Hermes Agent (latest from git)
- Reproduced on both CLI and Gateway modes
- Affects all users who try to disable title generation via config
Description
The configuration option
auxiliary.title.enabled: false(orauxiliary.title_generation.enabled: false) inconfig.yamlhas no effect. Title generation still triggers even when explicitly disabled.Root Cause
The code that calls
maybe_auto_title()does not check theenabledfield from the auxiliary config before invoking title generation.Affected locations:
cli.py(around line 11150) — the CLI session handlergateway/run.py(around line 15960) — the gateway session handlerIn both locations, the code unconditionally calls
maybe_auto_title()after a successful response:The
enabledkey from the auxiliary config dict is never read.Expected Behavior
When
auxiliary.title.enabled: falseis set inconfig.yaml, title generation should be skipped entirely.Suggested Fix
Before calling
maybe_auto_title(), read the config and check the enabled flag:Environment