diff --git a/apps/desktop/src/components/assistant-ui/clarify-tool.tsx b/apps/desktop/src/components/assistant-ui/clarify-tool.tsx
index d06ed1ef16ea..db33eab308ce 100644
--- a/apps/desktop/src/components/assistant-ui/clarify-tool.tsx
+++ b/apps/desktop/src/components/assistant-ui/clarify-tool.tsx
@@ -126,6 +126,43 @@ function KeyBadge({ char, preview, selected }: { char: string; preview?: boolean
)
}
+/** A letter-badged option row. Shared by the live pending card (where a click
+ * selects an answer) and the settled skip card (where a click drafts a
+ * follow-up), so both stay visually identical. */
+function ChoiceButton({
+ char,
+ choice,
+ disabled,
+ onClick,
+ selected = false,
+ title
+}: {
+ char: string
+ choice: string
+ disabled?: boolean
+ onClick: () => void
+ selected?: boolean
+ title?: string
+}) {
+ return (
+
+ )
+}
+
export const ClarifyTool = (props: ToolCallMessagePartProps) => {
// Answered → settled Q&A (ToolFallback collapsed the answer away).
if (props.result !== undefined) {
@@ -198,20 +235,13 @@ function ClarifyToolSettled({ args, result }: ToolCallMessagePartProps) {
{skipped && choices.length > 0 ? (
{choices.map((choice, index) => (
-
+ />
))}
{copy.lateAnswerHint}
@@ -423,21 +453,14 @@ function ClarifyToolPending({ args }: ToolCallMessagePartProps) {
{hasChoices ? (
{choices.map((choice, index) => (
-
+ selected={selectedChoice === choice}
+ />
))}