You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Behavior bug (incorrect output/state without crash)
Beta release blocker
No
Summary
In a claude-cli-backed session inside the openclaw Control UI, the assistant's AskUserQuestion tool call is accepted and the tool input JSON is rendered, but no interactive picker is shown and no tool result is ever returned to the assistant — the turn stalls.
Steps to reproduce
Start a claude-cli-backed session in the openclaw Control UI on 2026.5.7.
Have the assistant call the AskUserQuestion tool with a valid payload. Live-captured example from this session:
{
"questions": [
{
"question": "How do you want to watch these issues?",
"header": "Watch style",
"multiSelect": false,
"options": [
{ "label": "Scheduled daily digest", "description": "Cron job runs once a day, summarizes only on activity." },
{ "label": "GitHub subscribe + notify", "description": "Subscribe my GitHub account to each issue via API." },
{ "label": "Hourly polling with push", "description": "Poll every hour and push a notification on movement." },
{ "label": "Just save the list, no watch", "description": "Write the issue numbers and stop." }
]
}
]
}
Observe the Control UI shows the tool call header with this input payload, no picker affordance, and no output block. The assistant cannot proceed.
Expected behavior
The Control UI renders an inline option picker (single- or multi-select per multiSelect) for each questions[i], captures the user's selection(s), and returns the structured selections as the AskUserQuestion tool result so the assistant turn completes. This matches how the tool behaves in Claude Code's first-party surfaces (terminal CLI, Desktop, IDE extensions).
Actual behavior
Tool call appears in the conversation as a tool call. The input JSON is displayed verbatim. No output is rendered, no UI control appears, the user has no way to answer the question. The assistant hangs until the user replies in freeform text — which is not the structured selection the tool expects.
User reproduced live in-session and confirmed: "it shows up in UI as a Tool call with the tool input being: { ... } (and no output)".
Impact and severity
Affected: any claude-cli-backed session using the openclaw Control UI (TUI / web). Any assistant turn that chooses to call AskUserQuestion stalls.
Severity: Blocks the interactive-decision workflow. Forces the agent into a verbose plaintext fallback for every disambiguation, which loses the structured answer + headers/labels.
Frequency: Always — deterministic on every AskUserQuestion call.
Consequence: Agents cannot use AskUserQuestion to gather user preferences mid-task. Workaround is for the agent to detect the surface and switch to plaintext, but agents don't know they're inside openclaw Control UI.
Additional information
AskUserQuestion is a Claude Code (claude-cli) built-in tool, so the gap is on the Control UI / harness side that needs to render the picker affordance and post the selection back as the tool result.
Bug type
Behavior bug (incorrect output/state without crash)
Beta release blocker
No
Summary
In a
claude-cli-backed session inside the openclaw Control UI, the assistant'sAskUserQuestiontool call is accepted and the tool input JSON is rendered, but no interactive picker is shown and no tool result is ever returned to the assistant — the turn stalls.Steps to reproduce
claude-cli-backed session in the openclaw Control UI on 2026.5.7.AskUserQuestiontool with a valid payload. Live-captured example from this session:{ "questions": [ { "question": "How do you want to watch these issues?", "header": "Watch style", "multiSelect": false, "options": [ { "label": "Scheduled daily digest", "description": "Cron job runs once a day, summarizes only on activity." }, { "label": "GitHub subscribe + notify", "description": "Subscribe my GitHub account to each issue via API." }, { "label": "Hourly polling with push", "description": "Poll every hour and push a notification on movement." }, { "label": "Just save the list, no watch", "description": "Write the issue numbers and stop." } ] } ] }inputpayload, no picker affordance, and nooutputblock. The assistant cannot proceed.Expected behavior
The Control UI renders an inline option picker (single- or multi-select per
multiSelect) for eachquestions[i], captures the user's selection(s), and returns the structured selections as theAskUserQuestiontool result so the assistant turn completes. This matches how the tool behaves in Claude Code's first-party surfaces (terminal CLI, Desktop, IDE extensions).Actual behavior
Tool call appears in the conversation as a tool call. The
inputJSON is displayed verbatim. Nooutputis rendered, no UI control appears, the user has no way to answer the question. The assistant hangs until the user replies in freeform text — which is not the structured selection the tool expects.OpenClaw version
2026.5.7 (eeef486)
Operating system
macOS 26.3.1 (25D2128)
Install method
npm global (
/opt/homebrew/bin/openclaw)Model
anthropic/claude-opus-4-7
Provider / routing chain
openclaw control-ui -> claude-cli (
@anthropic-ai/claude-code1.0.107) -> anthropic (oauth profileanthropic:claude-cli)Additional provider/model setup details
claude-cliruntime as configured underacp.allowedAgents/ Claude CLI plugin path.auth.profiles.anthropic:claude-cli(oauth), routed viaauth.order.anthropic.Logs, screenshots, and evidence
User reproduced live in-session and confirmed: "it shows up in UI as a Tool call with the tool input being: { ... } (and no output)".
Impact and severity
claude-cli-backed session using the openclaw Control UI (TUI / web). Any assistant turn that chooses to callAskUserQuestionstalls.AskUserQuestioncall.Additional information
AskUserQuestionis a Claude Code (claude-cli) built-in tool, so the gap is on the Control UI / harness side that needs to render the picker affordance and post the selection back as the tool result.