[BUG] "Chat about this" on AskUserQuestion sends is_error: true rejection — discards all answers, model plows ahead
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
---
Summary
The "Chat about this" button on AskUserQuestion is a dead button. Selecting it sends is_error: true to the model — identical to a full tool rejection. The model receives no signal that the user wanted to discuss, discards all answers (including those already provided), and plows ahead without the user's input.
This has never worked across 22 instances, 11 versions (2.1.21 → 2.1.74), and 44 days of usage.
---
🔬 Protocol-Level Root Cause
When "chat about this" is selected, the JSONL transcript shows the tool result contains both signals:
is_error: true
"The user doesn't want to proceed with this tool use. The tool use was rejected..."
"The user wants to clarify these questions..." ← intent IS captured in the text
The clarification intent exists in the message body — but is_error: true causes the model to treat the entire interaction as a rejection. The signal is there; it's just being overridden by the error flag.
This creates three compounding bugs:
| # | Bug | Impact |
|---|-----|--------|
| 1 | Protocol: "Chat about this" maps to is_error: true | Model sees rejection, not a discussion request |
| 2 | Data loss: All answers — including those already provided — are discarded | User has to re-answer everything |
| 3 | Model misinterpretation: Generic rejection text gives the model no way to recover | Model either ignores the question or mischaracterizes the user's intent |
---
📊 Cross-Conversation Analysis (5,651 files)
I searched every JSONL conversation file on my machine to isolate scope and history:
| Metric | Value |
|--------|-------|
| JSONL files searched | 5,651 |
| Files with AskUserQuestion calls | 153 |
| Total AskUserQuestion interactions analyzed | 98 |
| Normal answer submissions | 58 — all worked ✅ |
| "Chat about this" selected | 22 instances |
| "Chat about this" worked correctly | 0 ❌ |
| Versions tested | 2.1.21 → 2.1.74 (11 versions) |
| Date range | 2026-01-28 → 2026-03-12 (44 days) |
No variables affect the outcome
Every combination fails identically:
| Variable | Values tested | Effect |
|----------|--------------|--------|
| Number of questions | 1, 2, 3 | None |
| multiSelect | true, false | None |
| Plan mode active | yes, no | None |
| CC version | 2.1.21 → 2.1.74 | None |
| Partial answers already provided | 0/1, 1/3, 1/1 | None — all lost |
---
📋 Reproduction — Instance 1: Three separate questions
Context: Plan mode. Model asks 3 questions via AskUserQuestion:
| # | Header | Question | Options |
|---|--------|----------|---------|
| 1 | ETHOS 11 | Is sending a CAPTCHA screenshot to Sonnet an override of ETHOS 11? | "Override for CAPTCHAs" / "LLM vision != ETHOS 11" |
| 2 | Image input | How should we pass screenshots to the model? | "claude CLI with image flag" / "Anthropic Python SDK" / "Base64 in prompt text" |
| 3 | Model tiers | What model tier strategy? | "Sonnet first, human fallback" / "Haiku first, Sonnet fallback" / "Sonnet first, Opus fallback" |
What I did:
- ✅ Question 1: Typed a free-text answer → captured correctly
- 💬 Question 2: Selected "Chat about this" → wanted to discuss image input options
- ⏭️ Question 3: Never reached — tool call terminated
What happened:
- Tool returned
is_error: true - Questions 2 and 3 both came back as
(No answer provided) - Model said "Got it — experimental exception for ETHOS 11. Let me investigate the image input question before re-asking"
- Model immediately started running Bash commands to research CLI flags — never entered a discussion
- I had to interrupt and say: "I selected 'chat about this?' and you stopped the interview. That's a bug I think."
---
📋 Reproduction — Instance 2: Multi-select with 3 options
Context: Same conversation, later. Plan mode. Model asks a single multi-select question:
| Header | Question |
|--------|----------|
| Plan feedback | "What would you like changed in the plan before proceeding?" |
| # | Option | Description |
|---|--------|-------------|
| 1 | Skip warmup phase | 300s warmup too long for a CAPTCHA experiment |
| 2 | Don't modify signup_flow.py | Put experiment code elsewhere |
| 3 | Simpler UI change | JS phase-switching logic is too complex |
What I did:
- ✅ Option 1: Selected directly
- ✅ Option 2: Selected directly
- 💬 Option 3: Selected "Chat about this" → wanted to discuss the UI approach before deciding
What happened:
- Tool returned
is_error: true - Only options 1 and 2 captured in the answer text
- Model said "Got it — two changes: 1. Skip warmup… 2. Don't modify signup_flow.py…"
- Model immediately rewrote the plan and tried to
ExitPlanMode - I rejected the exit and said: "I didn't answer the 3rd question about the UI and selected 'chat about this' but you didn't respond appropriately."
- Model then mischaracterized my intent, saying "You selected 'Simpler UI change'" — as if I'd agreed with it, when I wanted to discuss it
---
What Should Happen
When a user selects "Chat about this" on any question/option:
is_errorshould befalse(or use a distinct field likechat_requested)- Already-provided answers must be preserved and returned to the model
- The model should receive a clear signal: "User wants to discuss Question N before answering"
- The model should enter a conversational discussion about that specific question
- After discussion, the model should re-present the unanswered question (ideally with previous answers pre-filled)
---
🔗 Related Issues
This bug likely explains the frustration behind several issues that were closed as duplicates of unrelated bugs:
- #27442 (open, stale) — "UX is painful with chat about this option" — same root cause, different symptom
- #22966 (closed as dup of #13182) — "Chat about this is not working" — correctly identified but duped to an unrelated UI flickering bug
- #31010 (open, feature request) — "Add chat about this for proposed plan" — requesting a feature that already exists in the UI but doesn't work
- #27348 (open, stale) — "AskUserQuestion preview feature doesn't allow Type something" — possibly related
---
Steps to Reproduce
- Start a conversation where Claude enters plan mode
- Get Claude to ask an
AskUserQuestionwith 2+ questions or a multi-select with 2+ options - Answer at least one question directly
- Select "Chat about this" on a different question
- Observe: all answers discarded, model proceeds without discussion
This also reproduces with a single question — selecting "chat about this" on a 1-question dialog still fires is_error: true.
Claude Model
Opus 4.6
Is this a regression?
No. Cross-conversation analysis across 5,651 JSONL files confirms this has never worked since at least v2.1.21.
Claude Code Version
2.1.74 (Claude Code)
Platform
Anthropic API (MAX subscription)
Operating System
Ubuntu 24.04 LTS (Linux 6.12.73)
Terminal/Shell
bash (SSH terminal)
Additional Information
Both reproduction instances occurred in a single long-running conversation (~8 hours). The JSONL transcript was analyzed post-hoc to confirm the is_error: true return at the protocol level. The cross-conversation analysis was performed by parsing all 5,651 JSONL files in ~/.claude/projects/. Happy to share sanitized JSONL excerpts if that helps the team reproduce.
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗