Add configurable timeout (or option to disable) for AskUserQuestion tool
Feature Request
Problem
When Claude uses the AskUserQuestion tool to present interactive options to the user, there appears to be a built-in timeout after which the tool returns a response — even if the user hasn't made a selection yet. The returned response is often empty or incomplete (e.g., just "User has answered your questions:" with no actual selections).
This creates a real problem: if the agent doesn't explicitly guard against empty responses, it may proceed with default assumptions, potentially taking unwanted actions. In one case, this led to 160 items being auto-processed without user consent because the agent treated the timed-out empty response as a valid selection.
Current Behavior
AskUserQuestionpresents options in the terminal- After some time without user input, the tool returns an empty/incomplete response
- There is no way to configure or disable this timeout
- The agent cannot distinguish between "user intentionally chose nothing" and "user didn't respond in time"
Requested Behavior
One or more of:
- Configurable timeout — Allow users to set a custom timeout duration (e.g., via
~/.claude/settings.jsonor project.claude/settings.json) - Option to disable timeout entirely — Let the prompt wait indefinitely until the user responds
- Distinct return value for timeout vs. empty selection — So agents can programmatically detect a timeout and re-prompt rather than guessing
Suggested Configuration
{
"askUserQuestion": {
"timeout": 120
}
}
Or "timeout": 0 / "timeout": null to disable.
Impact
This affects any workflow where Claude presents multi-option questions that require the user to read, think, and decide — especially when reviewing lists of items, selecting from multiple approaches, or confirming batch operations.
Environment
- Claude Code CLI
- macOS / Terminal
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗