AskUserQuestion returns empty success when user doesn't select an option
Resolved 💬 3 comments Opened Mar 3, 2026 by dpaluy Closed Mar 7, 2026
Bug Description
The AskUserQuestion tool returns a success result with an empty answer when the user doesn't actually select an option (e.g., request is interrupted or dismissed). The assistant cannot distinguish between "user approved" and "user didn't answer."
Steps to Reproduce
- Assistant calls
AskUserQuestionwith multiple options (e.g., "Yes", "No", "Skip") - User interrupts the request or dismisses the question without selecting
- Tool returns:
"User has answered your questions: . You can now continue with the user's answers in mind."
Expected Behavior
- If the user didn't select an option, the tool should return an error or a clear "no selection made" indicator
- The answer field should not be empty/blank while still returning a success message
Actual Behavior
- Tool returns a success message with empty answer:
": ."(no selection text between colon and period) - Assistant interprets this as implicit approval and proceeds with changes
- No way for the assistant to distinguish "approved" from "no answer"
Impact
The assistant may take irreversible actions (file edits, API calls) based on a non-answer being interpreted as consent. In my case, the assistant edited a project config file (AGENTS.md) without actual user approval.
Session Evidence
From the JSONL session log, the tool result content was:
User has answered your questions: . You can now continue with the user's answers in mind.
The question had three options: "Yes, both", "CLI commands only", "Skip" — none of which appear in the response.
Environment
- Claude Code version: 2.1.63
- OS: macOS (Darwin 25.3.0)
- Model: claude-opus-4-6
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗