[BUG] AskUserQuestion must be answered multiple times after idle on Desktop/cloud sessions

Resolved 💬 4 comments Opened Jun 24, 2026 by Rendalf Closed Jun 28, 2026

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

What's Wrong?

[BUG] Web/cloud session re-asks the same AskUserQuestion 2–7× after a period of inactivity

What happened

In a Claude Code cloud / remote session (started from the web; the same applies to the desktop app when it drives a cloud session), Claude presents an AskUserQuestion prompt — a multiple-choice question with prepared answer options. If I have stepped away and the session has been idle for a while, selecting an answer does not "stick": the exact same set of questions is re-presented, and I have to answer it 2–7 times before the answer is finally accepted and the run continues.

This has been happening consistently for over a month, across many sessions.

Steps to reproduce

  1. Start a Claude Code session on the web (claude.ai/code) or a cloud/remote session from the desktop app.
  2. Let Claude reach a point where it calls AskUserQuestion (a prompt with predefined options).
  3. Leave the session idle for some minutes (long enough that the connection drops / the session goes idle).
  4. Come back and answer the question by picking one of the prepared options.
  5. Observe: the same question is shown again. Answer it again. It reappears. Repeat — it typically takes 2–7 attempts before the answer registers and the run proceeds.

If I answer the question immediately (without going idle first), it registers on the first try. The repetition only shows up after an idle gap.

Expected behavior

Answering the prompt once should register the answer and continue the run — regardless of how long the session was idle before I answered.

Actual behavior

The pending AskUserQuestion is re-delivered/re-rendered after the idle reconnect, so my answer lands against a torn-down/stale execution context and isn't recorded. The prompt loops until one attempt happens to hit a live context.

Environment

  • Surface: Claude Code Web / cloud (remote) session (and desktop app when running a cloud session — does NOT reproduce on purely local sessions)
  • Trigger: session idle / inactivity before answering
  • Tool involved: AskUserQuestion (prepared multiple-choice options)
  • Frequency: consistent, every time there's an idle gap before answering; ongoing for 1+ month
  • OS / browser: <fill in your OS + browser>
  • Claude Code version: <fill in if shown>

Likely root cause (hypothesis)

AskUserQuestion is a blocking tool call that holds execution paused while it waits for input. Cloud sessions run in ephemeral containers behind a WebSocket, and on idle the connection drops / the session suspends. On reconnect, the still-pending tool call appears to be re-delivered rather than recognized as already-presented, so each answer races against a stale context and is dropped — producing the repeated-answer loop. This sits at the intersection of the AskUserQuestion re-ask behavior and the cloud idle-disconnect / stale-reconnect handling.

Related issues

  • #62006 — AskUserQuestion re-presented in a loop (similar behavior, but reported on VS Code during active use after "Other"; not idle/cloud).
  • #23081 — retry after connection loss reuses a stale connection pool and fails to recover (related reconnect-state handling).
  • #32050 — sessions disconnect on idle timeout.
  • #47841 — Claude Code Web stream idle-timeout (web idle disconnect, different symptom).

These cover the ingredients, but I couldn't find an existing issue describing this exact combination (AskUserQuestion re-delivery specifically after idle on the cloud surface), so filing separately.

Workarounds I've found

  • Answering the prompt promptly (before the idle window) avoids it.
  • Running a purely local session (CLI / local desktop session) avoids this particular failure mode.

What Should Happen?

Selecting an answer to an AskUserQuestion prompt should register that answer on the first attempt and let the run continue — regardless of how long the session was idle before I answered. A session that resumes from idle should reconnect to the same pending question, accept one response, and move on. The prompt should never be re-presented after a valid answer has been submitted.

Error Messages/Logs

Steps to Reproduce

  1. Start a Claude Code cloud / remote session — from the web (claude.ai/code), or the desktop app driving a cloud session.
  2. Give Claude a task that will make it ask a clarifying question, so it calls AskUserQuestion (the multiple-choice prompt with prepared options).
  3. When the prompt appears, do not answer it — leave the session idle for several minutes, long enough that the connection drops / the session goes idle (stepping away, locking the screen, or switching away from the tab all trigger it).
  4. Return to the session and answer by selecting one of the prepared options.
  5. Observe: the same set of questions is shown again. Answer it again — and it reappears. Repeat. It typically takes 2–7 attempts before the answer registers and the run proceeds.

Control (confirms idle is the trigger): repeat steps 1–2 but answer the prompt immediately, without going idle. It registers on the first try every time. The repeated-answer loop only happens when there's an idle gap before answering.

Claude Model

Opus

Is this a regression?

I don't know

Last Working Version

_No response_

Claude Code Version

2.1.190

Platform

Anthropic API

Operating System

macOS

Terminal/Shell

Terminal.app (macOS)

Additional Information

_No response_

View original on GitHub ↗

This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗