hermes - 💡(How to fix) Fix [Feature]: Add per-call countdown control to the `clarify` tool [1 participants]

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…
GitHub stats
NousResearch/hermes-agent#12625Fetched 2026-04-20 12:17:52
View on GitHub
Comments
0
Participants
1
Timeline
1
Reactions
1
Author
Participants
Timeline (top)
labeled ×1

Root Cause

Real-world scenario: I was being asked to choose between 3 options (e.g., which approach to take for a feature). I needed time to think and compare the options, but the 120-second countdown expired and auto-selected an answer I didn't intend. This happened repeatedly because there's no way to distinguish between:

Fix Action

Fix / Workaround

Currently the only workaround is to either:

  1. Set clarify.timeout to a very high value globally (losing the benefit of countdowns for quick decisions)
  2. Avoid using the clarify tool entirely and ask questions in plain text (losing the structured choice UI)

Code Example

// Quick decision — use short timeout with auto-select
{
  "question": "Is this fix correct?",
  "choices": ["Yes", "No"],
  "timeout": 30,
  "auto_select": true
}

// Deliberate decision — disable countdown entirely
{
  "question": "Which approach do you prefer?",
  "choices": ["Option A", "Option B", "Option C"],
  "timeout": 0,
  "auto_select": false
}

---
RAW_BUFFERClick to expand / collapse

Problem or Use Case

The clarify tool currently has a global clarify.timeout setting in config.yaml that applies to all clarification prompts. When the timeout expires, the tool auto-selects an option (typically the first choice), which can lead to unintended actions.

Real-world scenario: I was being asked to choose between 3 options (e.g., which approach to take for a feature). I needed time to think and compare the options, but the 120-second countdown expired and auto-selected an answer I didn't intend. This happened repeatedly because there's no way to distinguish between:

  • Quick decisions where a countdown is helpful (e.g., "Is this correct? Yes/No")
  • Deliberate decisions where I need time to think (e.g., "Which architectural approach do you prefer?" with 3+ options)

Currently the only workaround is to either:

  1. Set clarify.timeout to a very high value globally (losing the benefit of countdowns for quick decisions)
  2. Avoid using the clarify tool entirely and ask questions in plain text (losing the structured choice UI)

Proposed Solution

Add two optional parameters to the clarify tool that let the agent control countdown behavior on a per-call basis:

ParameterTypeDefaultDescription
timeoutintegernull (use global config)Override the global clarify.timeout for this specific call, in seconds. Set to 0 or a very large number to effectively disable the countdown.
auto_selectbooleantrueWhether to auto-select the first option when timeout expires. Set to false to simply cancel/abort the prompt instead of selecting.

Example usage:

// Quick decision — use short timeout with auto-select
{
  "question": "Is this fix correct?",
  "choices": ["Yes", "No"],
  "timeout": 30,
  "auto_select": true
}

// Deliberate decision — disable countdown entirely
{
  "question": "Which approach do you prefer?",
  "choices": ["Option A", "Option B", "Option C"],
  "timeout": 0,
  "auto_select": false
}

Behavior notes:

  • When timeout is omitted, the global clarify.timeout from config.yaml is used (backward compatible)
  • When timeout: 0, the prompt waits indefinitely until I respond (or the agent session ends)
  • When auto_select: false and timeout expires, the tool returns a timeout status so the agent can handle it gracefully (e.g., retry, ask again in plain text, or proceed with a default)
  • When auto_select: true (current behavior), the first option is selected on timeout — no behavior change from today

This gives the agent fine-grained control: quick decisions get fast defaults, while important decisions get as much time as I need.

Alternatives Considered

No response

Feature Type

Configuration option

Scope

None

Contribution

  • I'd like to implement this myself and submit a PR

Debug Report (optional)

extent analysis

TL;DR

Add optional timeout and auto_select parameters to the clarify tool to control countdown behavior on a per-call basis.

Guidance

  • Implement the proposed timeout parameter to override the global clarify.timeout for specific calls, allowing for flexible countdown settings.
  • Use the auto_select parameter to determine whether to auto-select the first option or cancel/abort the prompt when the timeout expires.
  • Test the new parameters with different scenarios, such as quick decisions and deliberate decisions, to ensure the desired behavior.
  • Consider adding documentation to explain the usage and behavior of the new parameters.

Example

{
  "question": "Which approach do you prefer?",
  "choices": ["Option A", "Option B", "Option C"],
  "timeout": 0,
  "auto_select": false
}

This example demonstrates how to disable the countdown entirely for a deliberate decision.

Notes

The proposed solution aims to provide fine-grained control over the countdown behavior, but it may require additional testing and validation to ensure it works as expected in all scenarios.

Recommendation

Apply the proposed workaround by adding the timeout and auto_select parameters to the clarify tool, as it provides a flexible solution for controlling countdown behavior on a per-call basis.

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