Add configurable timeout (or option to disable) for AskUserQuestion tool

Status Closed — not planned
Maintainer reply None cached
Activity 3 comments · opened Mar 4, 2026 · closed May 2, 2026

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

  • AskUserQuestion presents 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:

  1. Configurable timeout — Allow users to set a custom timeout duration (e.g., via ~/.claude/settings.json or project .claude/settings.json)
  2. Option to disable timeout entirely — Let the prompt wait indefinitely until the user responds
  3. 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

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗