Feature request: inline, collapsible, native interactive prompts in assistant messages
Product area: Claude Code / Claude Desktop — message rendering & interactive components (the AskUserQuestion choice boxes)
From: Franck Mikulecz — daily Claude Code + Claude Desktop user (Linux)
Summary
Let the assistant's interactive choice prompts render inline — at the exact point in its message where each question arises — and collapsed by default, while keeping native chat formatting (clickable file links, normal fonts). Today this isn't possible, and the gap forces a slower, lower-bandwidth way of working.
The problem
When the assistant addresses several topics in one message — which it does well, and which saves tokens and round-trips — its interactive choice boxes all appear as a single expanded panel appended after the prose. The questions detach from the context that motivated them. As the reader I lose the thread: the message discusses three things, but the three decisions are stacked at the bottom, divorced from the paragraphs they belong to. The result is confusion and lost attention.
To cope, I've had to instruct the assistant to revert to one topic per message, one set of answers from me — which throws away exactly the capability that makes it efficient.
Current rendering constraints (as I understand them)
Three rendering lanes exist today, and none does what I need:
- Native markdown — clickable file links, normal formatting, but static (can't capture a choice).
- AskUserQuestion — interactive and clickable, but renders as one expanded panel after the message; can't be placed inline or collapsed.
- HTML widgets (sandboxed iframe) — can be inline and collapsible, but run isolated, losing native formatting and clickable links (e.g. can't open a local file path).
What I'm asking for
A way to embed interactive choice elements inline within a native assistant message, each:
- positioned at the point in the prose where the question belongs;
- collapsed by default, expandable one at a time;
- rendered with native chat styling and clickable links intact;
- storing my selection without forcing an immediate assistant reply — the assistant continues only when I send a typed message.
In short: bring AskUserQuestion's interactivity into the native message flow — inline and collapsible.
Why it matters / impact
- It lets the assistant raise several topics in one message without costing the user their attention, because each question sits next to its context.
- It removes the one-topic-at-a-time workaround, restoring the model's natural efficiency (fewer turns, fewer tokens).
- It generalises to any multi-decision interaction — code review, configuration, planning, triage.
- I expect many users would prefer it; it's a clear UX win for both Claude Desktop and the Claude Code workflow.
Alternatives considered
- HTML widgets: solve inline + collapsible but break native formatting and links — net worse for document-like messages.
- One topic at a time: works, but wastes the assistant's ability and adds latency.
Nice-to-have
A markdown-native collapsible interactive disclosure, so it also works in plain chat rather than only through a special tool.