Tool calls approved via Remote Control (mobile app) are lost: session hangs, '[Tool result missing due to internal error]'
Environment
- Claude Code 2.1.172, CLI in terminal
- Linux WSL2 (kernel 6.6.114.1-microsoft-standard-WSL2), bash
- Session connected to the Claude mobile app via
/remote-control - Model: claude-fable-5[1m]
Bug
When a tool call triggers a permission prompt and I approve it with the Allow button in the mobile app (Remote Control), the tool call is frequently lost: the command never executes on the machine, and the session hangs indefinitely waiting for the result. After interrupting, the transcript shows either [Tool result missing due to internal error] or (once) undefined is not an object (evaluating 'H.replace').
Reproduction (as observed, ~6 occurrences in one session)
- Start a session in the terminal, connect
/remote-control, walk away with the phone. - Claude issues a Bash or Write tool call that requires permission.
- Tap Allow in the mobile app.
- Intermittently (~30–40% of prompts in my session): the CLI hangs; the command never ran.
Evidence the command never executed
Verified after each hang before retrying:
- a
cmd > /tmp/file.log 2>&1Bash call hung for ~10 minutes with no log file ever created (redirect would create it instantly on start); - a
mkdir && git mvchain left the worktree completely untouched (git statusclean, no new dirs); - two consecutive
Writetool calls for a new file ended with "Tool result missing due to internal error" and the file did not exist either time.
So this is not a slow/hung command — the approved tool invocation is dropped somewhere between the mobile approval and the local executor, and the session then blocks on a result that will never arrive.
Affected tools
Both Bash and Write (likely tool-agnostic). Identical commands re-issued afterwards (approved again, or covered by an existing allow rule) ran fine, including instant heredoc writes — content/duration is not the trigger; the approval round-trip is.
Expected
Either the approved tool call executes, or the CLI surfaces a retryable error promptly instead of hanging indefinitely.