AskUserQuestion silently returns empty when called in the same turn as a Skill invocation
Description
AskUserQuestion fails to render its UI when called in the same assistant response turn that processes a Skill tool invocation. The tool call fires, returns successfully with empty answers, and Claude proceeds as if the user responded — but the user never sees the question UI.
Reproduction Steps
- Create a Skill that instructs Claude to call
AskUserQuestion(e.g., a settings configuration skill) - Invoke the skill:
/my-skill - Claude loads the skill, runs any setup (Bash calls, Read calls), then calls
AskUserQuestion - Expected: Question UI appears, user selects answers
- Actual: No UI appears. Tool returns
"User has answered your questions: ."with empty answers. Claude continues with its own defaults.
Key Evidence
In the same conversation:
- Direct
AskUserQuestioncall → works perfectly, UI renders - Skill loads → Claude calls
AskUserQuestion→ fails silently, empty response - Next turn after failure → direct
AskUserQuestion→ works again
This was tested multiple times in the same session. The failure is 100% reproducible when AskUserQuestion is the first interactive tool call after a Skill invocation.
Impact
Any plugin/workflow that uses the Skill tool to load prompts containing AskUserQuestion instructions will have questions silently skipped. Claude proceeds with its own assumptions instead of user input.
Environment
- Claude Code: 2.1.63
- macOS: 26.3
- Node: v22.17.0
- Shell: zsh
- Permission mode:
skipDangerousModePermissionPrompt: true
Workaround
Force a turn boundary before calling AskUserQuestion: output text, stop, wait for user input, then call AskUserQuestion in the next turn. This is clunky but works.
This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗