AskUserQuestion UI not rendered when called after Skill tool invocation

Status Fixed / completed
Maintainer reply ✓ Yes — ashwin-ant
Activity 7 comments · opened Mar 1, 2026 · closed Apr 18, 2026
💡 Likely answer: A maintainer (ashwin-ant, collaborator) responded on this thread — see the highlighted reply below.

Bug Description

AskUserQuestion tool sometimes fails to render the question UI. Instead of showing the question with options, it immediately returns "User answered Claude's questions:" with an empty answer.

Steps to Reproduce

  1. Create a skill (slash command) that internally calls AskUserQuestion
  2. Invoke the skill via /skill-name with arguments
  3. The skill processes arguments and calls AskUserQuestion with options
  4. Expected: UI displays the question with selectable options
  5. Actual: No question UI shown, empty answer returned immediately

Example Call

{
  "questions": [{
    "question": "To be or not to be?",
    "header": "Hamlet",
    "options": [
      {"label": "To be", "description": "Choose existence"},
      {"label": "Not to be", "description": "Choose non-existence"}
    ],
    "multiSelect": false
  }]
}

Screenshot

The UI shows:

● User answered Claude's questions:
  └

No question text, no options displayed. Answer is empty.

Additional Context

  • The bug appears to occur specifically when AskUserQuestion is called shortly after a Skill tool invocation in the same conversation turn
  • A subsequent AskUserQuestion call (without Skill context) in the next turn rendered correctly
  • This may be related to the timing/sequencing of tool calls after skill expansion
  • Platform: macOS (Darwin 24.6.0)
  • Claude Code CLI

View original on GitHub ↗

7 Comments

github-actions[bot] · 6 months ago

Found 3 possible duplicate issues:

  1. https://github.com/anthropics/claude-code/issues/29547
  2. https://github.com/anthropics/claude-code/issues/29674
  3. https://github.com/anthropics/claude-code/issues/29690

This issue will be automatically closed as a duplicate in 3 days.

  • If your issue is a duplicate, please close it and 👍 the existing issue instead
  • To prevent auto-closure, add a comment or 👎 this comment

🤖 Generated with Claude Code

bopm · 6 months ago

After pushing around /debug skill to figure this out, here is what it given me:

⏺ Root cause found: tengu_streaming_tool_execution2: true

  This experimental feature flag enables tools to execute while the response is still streaming, rather than waiting for the full response to complete first. It's a performance optimization for tools like Read, Write, Bash — they can run
  concurrently with streaming.

  But AskUserQuestion is a blocking UI tool. It needs to:
  1. Pause everything
  2. Render a dialog
  3. Wait for user input
  4. Return the result

  With tengu_streaming_tool_execution2 active, AskUserQuestion fires during streaming — the UI context isn't in a state to show a blocking dialog. The tool executes, gets no input (or auto-returns empty), and the stream continues
  immediately. That's why only 22ms passed and why PostToolUse never fired — the dialog lifecycle never actually ran.

  This is a bug: tengu_streaming_tool_execution2 is incompatible with AskUserQuestion.

  To confirm/fix: Disable the flag in .claude.json:
  "tengu_streaming_tool_execution2": false

  Then retry the skill — AskUserQuestion should block properly and show the dialog.
bopm · 6 months ago

And additional information:

it's clean room environment, who enabled that?

⏺ Searched for 2 patterns (ctrl+o to expand)

⏺ Bash(python3 -c "
      import json…)
  ⎿  cachedGrowthBookFeatures: dict

⏺ cachedGrowthBookFeatures — that's the source.

  GrowthBook is the A/B testing / feature flag platform Anthropic uses for Claude Code. The tengu_streaming_tool_execution2: true flag was remotely enabled by Anthropic and cached locally in .claude.json. You didn't set it — it was pushed
  to your account/install as part of a staged rollout or experiment.

  So the full chain:
  1. Anthropic's GrowthBook service pushed tengu_streaming_tool_execution2: true to your Claude Code install
  2. Claude Code cached it in .claude.json under cachedGrowthBookFeatures
  3. The flag caused tools to execute during streaming
  4. AskUserQuestion — which needs to block and show a dialog — fired during streaming and returned empty immediately
  5. Skill failed silently

  This is a bug Anthropic needs to fix: tengu_streaming_tool_execution2 should either exclude AskUserQuestion from streaming execution, or AskUserQuestion should detect this context and handle it correctly.

  You can report it at https://github.com/anthropics/claude-code/issues with the flag name and this behavior.
cristianuibar · 5 months ago

use #29674 as the most relevant one. close this issue.

bopm · 5 months ago

@cristianuibar my debug results are way more detailed than any of present in that issue of yours. Thoughts?

ashwin-ant collaborator · 4 months ago

This was fixed in v2.1.64 — AskUserQuestion now correctly renders its UI and prompts the user even when invoked after a Skill tool call. If you're still seeing this in the latest version, please comment with your version and repro and we'll reopen.

github-actions[bot] · 4 months ago

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.