claude-code - 💡(How to fix) Fix Remote-control: phone-app approval dismisses popup but never reaches local process

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

With claude --remote-control running locally, approving a permission prompt from the Claude phone app dismisses the popup on the phone but the approval never reaches the local Claude process. The terminal stays parked waiting for input. Terminal-side input still works; phone-side input is dropped.

Error Message

  • The only way to unstick: respond in the terminal. If the terminal-side response is "deny" (with a note), the tool result delivered to the model is [Tool result missing due to internal error] rather than a normal deny message.

Root Cause

With claude --remote-control running locally, approving a permission prompt from the Claude phone app dismisses the popup on the phone but the approval never reaches the local Claude process. The terminal stays parked waiting for input. Terminal-side input still works; phone-side input is dropped.

Fix Action

Workaround

Approve in the terminal. Approving from the phone is unreliable.

RAW_BUFFERClick to expand / collapse

Summary

With claude --remote-control running locally, approving a permission prompt from the Claude phone app dismisses the popup on the phone but the approval never reaches the local Claude process. The terminal stays parked waiting for input. Terminal-side input still works; phone-side input is dropped.

Environment

  • Claude Code: 2.1.150
  • OS: Ubuntu 24.04.4 LTS (kernel 6.11.0-26-generic)
  • Session shell: tmux over SSH
  • Launched with: claude --remote-control

Repro

  1. Start a local session: claude --remote-control.
  2. Open the same session on the Claude mobile app.
  3. In the terminal, trigger a tool call that requires permission (e.g. a Bash or Read outside the cwd).
  4. Permission prompt appears in both the terminal and the phone app.
  5. On the phone, tap Approve.

Expected

Bash/Read executes and returns its result.

Actual

  • Phone: popup dismisses, but the command stays shown as pending with the spinner indefinitely.
  • Terminal: prompt remains; the local process never receives the approval.
  • The only way to unstick: respond in the terminal. If the terminal-side response is "deny" (with a note), the tool result delivered to the model is [Tool result missing due to internal error] rather than a normal deny message.

Direction of the bridge

  • Outbound (local to cloud to phone): works. Phone receives prompts and conversation relay.
  • Inbound (phone tap to cloud to local): broken for permission decisions specifically. Conversation messages typed on the phone do arrive locally; only permission-decision events fail.

IDs from one repro

  • sessionId: f106dbcc-8476-43c1-99aa-a6aad7c6b959
  • bridgeSessionId: session_01LR8DqJS9sCRJcdizz5mfU1
  • pid: 3607120
  • Process had 9+ ESTABLISHED HTTPS connections to claude.ai infrastructure at the time, so the channel itself was up.

Workaround

Approve in the terminal. Approving from the phone is unreliable.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING