AskUserQuestion auto-submits with empty response when called from custom commands/skills
Environment
- Claude Code version: 2.1.63
- OS: macOS (Darwin 25.2.0)
- Model: Opus 4.6 (Claude Max)
- Shell: zsh
Summary
AskUserQuestion tool calls auto-submit immediately with empty responses when invoked from within a custom command (via /command-name). The tool works correctly in normal conversation — it renders the interactive UI and blocks for user input. But when the same tool is called from a command, it returns instantly without displaying the question to the user.
Regression
This was working correctly on 2/27/2026. Broke on 2/28/2026. Same version (2.1.63), same machine, same files.
Minimal Reproduction
- Create
.claude/commands/test-ask.md:
---
description: Minimal AskUserQuestion test
allowed-tools: AskUserQuestion
---
Ask the user this question using AskUserQuestion:
Question: "Pick a color"
Header: "Color"
Options:
- "Red" — A warm color
- "Blue" — A cool color
- "Green" — A nature color
After the user answers, output: "You picked: [their answer]"
- Start a fresh Claude Code session
- Run
/test-ask - Expected: Color picker UI renders, Claude waits for user to select an option
- Actual:
"User answered Claude's questions:"appears with an empty response, Claude immediately continues without waiting
Output
❯ /test-ask
⏺ User answered Claude's questions:
⎿
⏺ It looks like the answer wasn't captured in the response. Could you tell me which
color you picked — Red, Blue, or Green?
The user never sees the question or gets a chance to answer.
Working case (normal conversation)
In the same session, typing "Ask me to pick a color using AskUserQuestion" works correctly — the interactive UI renders and Claude waits for input.
What I've ruled out
| Hypothesis | Test | Result |
|---|---|---|
| Custom command content causing issue | Created brand-new minimal test-ask.md (above) with no dependencies | Bug reproduces with minimal command |
| Plugin interference | Disabled all custom plugins, retested | Bug persists |
| Project-specific issue | Reproduced across 4 different projects | Bug is global |
| Settings/permissions | Reviewed settings.json | No AskUserQuestion-related entries |
Impact
This breaks any command or skill that relies on AskUserQuestion for interactive user input. Commands that use multi-step discovery workflows (asking questions, collecting preferences, etc.) speed through all questions without collecting any user input.
4 Comments
Analysis
This regression points to a change in how tool invocation context is handled when called from custom commands vs direct conversation.
Likely Root Cause
AskUserQuestiondepends on an interactive stdin stream to render UI components and block for user input. When invoked from a custom command:Why Normal Conversation Works
In normal conversation, the tool call happens directly within the REPL's event loop — stdin is already bound and blocking. Custom commands may be spawning a separate execution context that loses this binding.
Regression Timing
The 2/27 → 2/28 regression window coincides with version 2.1.63 changes. This may be related to:
Diagnostic Suggestion
Add a debug log in the command:
If the "About to call" and "After response" logs appear back-to-back with no visible UI, the stdin binding is definitely broken in command context.
Workaround
As a temporary fix, commands that need user input could instruct the model to ask the question as a plain text response and wait for the user to reply in the next turn (old-school conversation flow) rather than relying on
AskUserQuestiontool UI.Confirming this bug.
/gsd:discuss-phase(via skill/command context)Behavior
During the GSD discuss-phase workflow,
AskUserQuestioncalls are auto-resolved without presenting the options UI to the user. The tool returns empty responses and Claude either makes up answers or loops.Key observation
A basic AskUserQuestion (single question, outside any skill/command context) works fine in the same session. The bug only manifests when
AskUserQuestionis called inside a skill/command context — consistent with the issue title.Cross-reference
This is widely reported in the GSD community:
The GSD maintainers confirmed this is a CC runtime regression, not a GSD-side bug — the workflow files structure
AskUserQuestioncalls correctly.Workaround
Downgrading to CC v2.1.62 or stable (v2.1.50) resolves the issue. One user also reported that setting
Enable Remote Control for all sessionstofalsein/configfixes it.This should be fixed on
2.1.69.This issue has been automatically locked since it was closed and has not had any activity for 7 days. If you're experiencing a similar issue, please file a new issue and reference this one if it's relevant.