[BUG] Remote Control: AskUserQuestion shows 'awaiting input' on mobile but question and answer UI are completely missing

Status Fixed / completed
Maintainer reply None cached
Activity 7 comments · opened Mar 12, 2026 · closed Jun 3, 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?

When using Remote Control (/remote-control) via the Claude mobile app (phone), and the CLI instance invokes the AskUserQuestion tool, the mobile app only displays a status indicator showing that the session is "awaiting user input." However:

  • The actual question text is not rendered at all — not truncated, completely absent
  • There is no answer UI — no text input, no option buttons, no way to respond
  • The session is effectively stuck: the CLI is waiting for a response that the mobile user has no way to provide

On the CLI side, AskUserQuestion renders a full TUI interface with the question and input/selection options. None of this is surfaced to the remote mobile client.

What Should Happen?

When AskUserQuestion is invoked, the Remote Control mobile client should render:

  1. The full question text
  2. The appropriate answer UI (text input field, multiple-choice options, etc.)
  3. A submit mechanism to send the response back to the CLI session

This should mirror the functionality available in the terminal TUI, adapted for the mobile form factor.

Steps to Reproduce

  1. Start a Claude Code CLI session on a local machine
  2. Enable Remote Control (/remote-control)
  3. Connect to the session from the Claude app on a phone
  4. Trigger any workflow that causes Claude to invoke the AskUserQuestion tool (e.g., a skill that prompts the user for a choice, or an agent that needs user clarification)
  5. Observe on mobile: The app shows the session is awaiting user input, but no question or answer interface is displayed
  6. Observe on CLI: The TUI shows the full AskUserQuestion prompt, waiting for input

Claude Model

Opus

Is this a regression?

Not sure — Remote Control is a recent feature

Claude Code Version

Latest

Platform

Anthropic API (Max)

Operating System

  • CLI host: macOS (Apple Silicon)
  • Remote client: iOS Claude app (iPhone)

Terminal/Shell

zsh

Additional Information

Related but distinct issues:

  • #28508 — AskUserQuestion selections made on mobile are not received by CLI (question is visible, response doesn't propagate). Different: in this issue the question is never shown at all.
  • #28991 — AskUserQuestion text is truncated on iOS with no expand option (question is partially visible, answer options work). Different: in this issue the entire question/answer UI is absent, not just truncated.

This appears to be a more fundamental rendering issue where the AskUserQuestion tool call is not being translated into any mobile UI component — the mobile client only recognizes that the session is in a "waiting" state but does not render the interactive prompt.

View original on GitHub ↗

6 Comments

daquarti · 5 months ago

<img width="1330" height="594" alt="Image" src="https://github.com/user-attachments/assets/52c40b40-5567-4d8d-8183-d6e531cd9150" />
<img width="803" height="451" alt="Image" src="https://github.com/user-attachments/assets/493b0075-d087-4d70-8ff2-1958f2948232" />

tfvchow · 5 months ago
Note: This root cause analysis was done collaboratively with Claude Code (Opus 4.6). If that bothers you, feel free to scroll past. Nobody's getting paid here — just sharing what I found in case it helps.

Root cause found

The bug is in the REPL bridge path (interactive session + RC enabled). When a tool needs permission, the CLI renders the prompt locally AND forwards it to the remote client. But the forwarding is gated:

// NSq — offset 11514131, v2.1.78
if (w && M && !K.tool.requiresUserInteraction?.()) {
  w.sendRequest(M, K.tool.name, ...);
}

Only two tools define requiresUserInteraction() as true: AskUserQuestion and ExitPlanMode. The ! negation means they're never forwarded to the remote client.

The flag exists to prevent these tools from being auto-approved by hooks/auto-mode (correct). But the bridge forwarding reuses it to mean "don't send to remote" (wrong — the remote client IS user interaction).

claude remote-control (server mode) is unaffected — different code path, no gate.

Regression

Introduced in v2.1.72. Versions 2.1.55–2.1.71 forwarded correctly.

One-line fix

Remove the gate from bridge forwarding:

sed -i -E 's/([a-zA-Z0-9]+)&&([a-zA-Z0-9]+)&&!K\.tool\.requiresUserInteraction\?\.\(\)\)/\1\&\&\2)/' "$(readlink -f $(which claude))"

Tested on v2.1.78 — AskUserQuestion renders on web, mobile, and Desktop after patch.

Full write-up with version history and code trace: tfvchow/field-notes-public#60

shangeethsivan · 5 months ago

This is so annoying is there a fix yet ? For me the questions are renderderd but my selections are not passed to claude code

MariusWilsch · 5 months ago

Anybody fixed this yet?

MariusWilsch · 5 months ago

Update from v2.1.81 investigation (may be incorrect — analysis was done on minified code):

The bridge forwarding gate (!requiresUserInteraction()) identified by @tfvchow in v2.1.78 is no longer present in v2.1.81 — the flag now only appears in hook auto-approval logic and tool definitions (4 occurrences total, none in bridge forwarding).

However, the bug persists on v2.1.81 (confirmed with live test). This suggests the root cause may have shifted:

AskUserQuestion.renderToolUseMessage() returns null — the actual question UI appears to be rendered through the permission system (checkPermissions → {behavior: "ask"}), not tool message rendering. The REPL path renders this permission prompt locally in TUI. Forwarding the interactive permission prompt to the remote client may be the missing piece in v2.1.81.

⚠️ This analysis was done by reading minified/bundled code — conclusions could be wrong. Sharing in case it helps narrow things down.

Source: 🗒️ Live debugging session on macOS, Claude Code v2.1.81

charlie-elisity · 5 months ago

Looks like this is working as of today. I was not working yesterday.

Showing cached comments. Read the full discussion on GitHub ↗