There are two independent clarify-response timeout knobs in ~/.hermes/config.yaml, and they govern different code paths:
| Key |
Path |
Default |
Read by |
agent.clarify_timeout |
Gateway (Telegram, Discord, Slack, etc.) |
600 |
tools/clarify_gateway.py:get_clarify_timeout() |
clarify.timeout |
CLI / TUI |
120 |
hermes_cli/callbacks.py:clarify_callback() via CLI_CONFIG["clarify"]["timeout"] (also cli.py:9947) |
Symptoms
- User raises
agent.clarify_timeout to a longer value to stop the agent from auto-deciding on long interactive walkthroughs (e.g. review-concierge-style workflows where per-item verification can run 5-15 min).
- Gateway sessions correctly respect the new timeout.
- CLI/TUI sessions still auto-decide after 120s because
clarify.timeout falls back to its own default in cli.py:367-369.
- The documentation (
website/docs/user-guide/messaging/telegram.md:921) only mentions agent.clarify_timeout, so users have no reason to suspect a second key exists.
Reproduction
- Set
agent.clarify_timeout: 5000 in ~/.hermes/config.yaml.
- Start a CLI session, trigger a clarify prompt, wait.
- After ~120s, prompt times out with
(clarify timed out after 120s - agent will decide).
Suggested fixes (pick one)
- Consolidate - have
hermes_cli/callbacks.py read agent.clarify_timeout first, then fall back to clarify.timeout, then to the hardcoded default. Single source of truth for users.
- Document the split - keep both keys but cross-reference them in the config reference and the Telegram docs, and surface the CLI key in
hermes config output.
- Rename - move CLI key to
cli.clarify_timeout and gateway key to gateway.clarify_timeout; alias old keys for one release.
Affected files
cli.py:367-369 (default), cli.py:9947
hermes_cli/callbacks.py:26
tools/clarify_gateway.py:231-247
website/docs/user-guide/messaging/telegram.md:921
Related gotcha
CLI_CONFIG is loaded once at module import (cli.py:620), so any timeout change requires a session restart to take effect. Worth noting in whichever doc gets updated.
Hermes v0.13.0 (2026.5.7) on macOS.
There are two independent clarify-response timeout knobs in
~/.hermes/config.yaml, and they govern different code paths:agent.clarify_timeouttools/clarify_gateway.py:get_clarify_timeout()clarify.timeouthermes_cli/callbacks.py:clarify_callback()viaCLI_CONFIG["clarify"]["timeout"](alsocli.py:9947)Symptoms
agent.clarify_timeoutto a longer value to stop the agent from auto-deciding on long interactive walkthroughs (e.g. review-concierge-style workflows where per-item verification can run 5-15 min).clarify.timeoutfalls back to its own default incli.py:367-369.website/docs/user-guide/messaging/telegram.md:921) only mentionsagent.clarify_timeout, so users have no reason to suspect a second key exists.Reproduction
agent.clarify_timeout: 5000in~/.hermes/config.yaml.(clarify timed out after 120s - agent will decide).Suggested fixes (pick one)
hermes_cli/callbacks.pyreadagent.clarify_timeoutfirst, then fall back toclarify.timeout, then to the hardcoded default. Single source of truth for users.hermes configoutput.cli.clarify_timeoutand gateway key togateway.clarify_timeout; alias old keys for one release.Affected files
cli.py:367-369(default),cli.py:9947hermes_cli/callbacks.py:26tools/clarify_gateway.py:231-247website/docs/user-guide/messaging/telegram.md:921Related gotcha
CLI_CONFIGis loaded once at module import (cli.py:620), so any timeout change requires a session restart to take effect. Worth noting in whichever doc gets updated.Hermes v0.13.0 (2026.5.7) on macOS.