AskUserQuestion auto-submits without waiting for user input in skill/command context

Status Fixed / completed
Reported on v2.1.63
Maintainer reply ✓ Yes — blois
Activity 13 comments · opened Feb 28, 2026 · closed Mar 5, 2026
💡 Likely answer: A maintainer (blois, collaborator) responded on this thread — see the highlighted reply below.

Bug: AskUserQuestion auto-submits without waiting for user input in skill/command context

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/skill (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 inside 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 files, same projects.

Reproduction Steps

Working case (normal conversation):

  1. Open Claude Code
  2. Type: "Ask me 3 questions about my favorite food using AskUserQuestion"
  3. Result: Questions render with interactive multi-select UI, Claude waits for input

Broken case (command context):

  1. Create a minimal command file at .claude/commands/test-ask.md:
---
description: Test AskUserQuestion in command context
allowed-tools: AskUserQuestion
---

Ask the user what their favorite color is using AskUserQuestion with options: Red, Blue, Green.

Then output their answer.
  1. Run /test-ask
  2. Expected: Question renders, Claude waits for user to select an option
  3. Actual: "User answered Claude's questions:" appears with empty response, Claude immediately continues without waiting

Evidence from real commands

Multiple custom commands affected — all exhibit the same behavior:

# /plan-feature output (truncated):
⏺ User answered Claude's questions:
  ⎿

⏺ Got it — Medium size, P1 priority, Beta rollout...

⏺ User answered Claude's questions:
  ⎿

⏺ Round 2: Visual Identity & Professionalism

⏺ User answered Claude's questions:
  ⎿

Every AskUserQuestion call returns empty and Claude proceeds as if the user answered. This happens for:

  • Commands with explicit Ask using AskUserQuestion: formatting with structured options
  • Commands with bullet-point questions and a header instruction to use AskUserQuestion
  • Both custom commands and commands from the official plugin system

What I've ruled out

| Hypothesis | Test | Result |
|---|---|---|
| Custom command file regression | Diffed all command files against last-known-working state | No relevant changes to question-asking logic |
| Plugin interference (custom matt-toolkit plugin with Stop/SessionStart hooks) | Disabled plugin, retested | Bug persists with plugin disabled |
| Settings/permissions issue | Reviewed global and project settings.json | No AskUserQuestion-related entries |
| PreToolUse hook interference | Hook only matches Bash tool, only active during autonomous loops | Not relevant |
| Project-specific issue | Reproduced across 3 different projects (claude-toolkit, joyride-website, cyoa) | Bug is global |

Impact

This breaks any command/skill that relies on interactive discovery or user input. For our toolkit, this makes /plan-feature and /research-feature completely unusable — they speed through 8-10 rounds of questions without collecting any user input, then generate specs based on empty answers.

View original on GitHub ↗

13 Comments

github-actions[bot] · 6 months ago

Found 2 possible duplicate issues:

  1. https://github.com/anthropics/claude-code/issues/29547
  2. https://github.com/anthropics/claude-code/issues/29618

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

jisequillaNFQ · 6 months ago

Additional Forensic Evidence: TimescaleDB-Captured Timing Data

Environment: Claude Code v2.1.63, macOS Darwin 24.6.0, 2026-02-28

Context

We captured this session via an observability pipeline (Claude Code hooks → RabbitMQ → TimescaleDB) which gives us exact Pre/Post timing pairs for every tool call in the session.

Session ID: db5de0bb-bf2d-4cfa-a90e-7b2e87a42d7d (714 events total)

Evidence: All interactive tools auto-resolve in ~100ms

Every AskUserQuestion, EnterPlanMode, and ExitPlanMode call resolved without user presentation:

| Tool | PreToolUse → PostToolUse Delta | Human Possible? |
|------|-------------------------------|-----------------|
| AskUserQuestion #1 | ~99ms | No |
| AskUserQuestion #2 | ~108ms | No |
| AskUserQuestion #3 | ~125ms | No |
| AskUserQuestion #4 | ~102ms | No |
| AskUserQuestion #5 | ~111ms | No |
| EnterPlanMode | ~104ms | No |
| ExitPlanMode | ~104ms | No |

For comparison, normal tool calls (Read, Grep, Agent) in the same session took 200ms-30s depending on complexity. The ~100ms resolution time for interactive tools is consistent with synchronous auto-completion without UI rendering.

Root Cause Confirmation

This matches the root cause identified in #29547: the permission evaluator (Xv9) early-returns {behavior: "allow"} when a skill's allowed-tools includes AskUserQuestion, bypassing the requiresUserInteraction() guard.

Our plugin's command files (explore.md, plan.md) include AskUserQuestion in their allowed-tools list because the workflows use it for gateway navigation. This triggers the early-return path.

Reproduction

  1. Create a Claude Code plugin with a skill command that includes AskUserQuestion in allowed-tools
  2. Have the skill's workflow call AskUserQuestion
  3. Observe: question auto-resolves with empty answers, never renders UI

Impact

This breaks any plugin workflow that uses interactive gates — approval gateways, user preference questions, confirmation dialogs. The tool silently returns empty answers, making the workflow appear to "skip" user interaction entirely.

guidevit-dealsmartai · 6 months ago

Additional confirmation — v2.1.63, macOS, Opus 4.6

Same behavior observed today (2026-03-02). AskUserQuestion intermittently auto-resolves with empty answers when called after Skill() invocations in custom command/skill workflows.

Intermittent pattern in single session:

  • Same question ("What do you need?" with 4 options) failed once (returned empty) and succeeded once (returned correct selection) within the same conversation
  • 3 out of 4 AskUserQuestion calls returned empty in one session
  • No hooks configured on UserPromptSubmit or PreToolUse(AskUserQuestion) — confirmed via settings inspection

Environment: Claude Code 2.1.63, macOS Darwin 25.2.0, zsh, Opus 4.6

kai-osthoff · 6 months ago

Additional data point: Linux + Agent-spawned context

Environment

  • Claude Code version: 2.1.63
  • OS: Linux (Arch Linux 6.18.3-arch1-1)
  • Terminal: Ghostty
  • Model: Opus 4.6

Scenario

Custom skill (/gsd:plan-phase) spawns a subagent (via Agent tool with subagent_type="gsd-planner"), which calls AskUserQuestion to gather implementation decisions before writing a plan.

Flow: Skill invocation → Agent tool spawn → AskUserQuestion inside agent → empty answer returned

What I tested

| Permission mode | Result |
|---|---|
| Default (normal prompts) | Empty answers, no UI |
| --allowedTools Edit,Write,... | Empty answers, no UI |
| --dangerously-skip-permissions | Empty answers, no UI |

All three modes produce the same result: "User answered Claude's questions:" with blank content. Claude proceeds as if the user answered and generates output based on nothing.

Screenshot

The terminal shows the agent working through research, then hitting AskUserQuestion calls that all auto-complete with empty responses:

⏺ User answered Claude's questions:
  ⎿

⏺ Let me look at the screenshot more carefully and try to...

Impact

This completely breaks any skill/command workflow that uses interactive discovery via AskUserQuestion. In our case, the /gsd:plan-phase skill becomes unusable — it's supposed to ask 4-5 clarifying questions about the implementation approach before generating a plan, but instead skips all user input and produces plans based on empty context.

Notes

  • Confirms this is cross-platform (Linux, not just macOS)
  • The bug also manifests when AskUserQuestion is called from the main conversation during a skill invocation (not just from spawned agents)
  • No workaround found — removing AskUserQuestion from allowed-tools doesn't help when it's called by a spawned agent
cristianuibar · 5 months ago

Additional data point: WSL2 + skill workflows

Environment

  • Claude Code version: latest (2026-03-04)
  • OS: Linux 6.6.87.2-microsoft-standard-WSL2
  • Model: claude-opus-4-6

Scenario

Custom skill loaded via Skill tool, then called AskUserQuestion 11 times in sequence for an interactive discussion workflow. All 11 calls auto-resolved with empty answers.

Evidence

Every single AskUserQuestion returned:
"User has answered your questions: . You can now continue with the user's answers in mind."

The model then fabricated plausible answers for all 11 questions (picking "Recommended" options or first choices) and produced an entire document of decisions the user never made. The user only discovered the problem after the workflow completed and committed artifacts.

Impact

This is particularly dangerous for interactive discovery/discussion workflows where the model is instructed to ask multiple sequential questions. Unlike a single skipped question (which might be noticed), a long chain of auto-resolved questions produces a complete-looking output that appears legitimate — the user has no signal that their input was never collected until they review the final artifact.

Workaround implemented

Added defensive instructions to skill workflow prompts: after each AskUserQuestion call, verify the result contains actual option labels. If empty, fall back to presenting options as a numbered plain-text list and asking the user to type their choice. This
ensures the discussion works even when the tool misbehaves.

Confirms

  • Cross-platform: WSL2 (not just macOS/Linux native)
  • Same root cause: Skill invocation → AskUserQuestion in same turn → empty auto-resolve
  • Permission mode irrelevant (standard permissions, no dangerous flags)
jacek2v · 5 months ago

The same issue in Claude Code 2.1.66.

riversoul · 5 months ago

The same issue in Claude Code 2.1.68.

TheDarkSkyXD · 5 months ago

When is this being fixed?

adv3nt3 · 5 months ago
When is this being fixed?

no, still in place, but has been addressed here

TheDarkSkyXD · 5 months ago
> When is this being fixed? no, still in place, but has been addressed here

What does that have to do with claude code that's not even part of it?

adv3nt3 · 5 months ago
> > When is this being fixed? > > no, still in place, but has been addressed here What does that have to do with claude code that's not even part of it?

just found this reference across all duplicates for this issue, that's all. thought it might be helpful for them

blois collaborator · 5 months ago

This should be fixed on 2.1.69.

github-actions[bot] · 5 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.