T-454 step 1 asked us to characterize the mechanism rather than assume
it. The original hypothesis — that the PID-keyed session registry under
~/.claude/sessions is what the remote surface enumerates — turns out to
be wrong; that registry is incidental.
Remote Control is enabled per-session over the stream-json control
channel clide already owns, via a `remote_control` control_request.
Claude Code ships a dedicated SDK-mode bridge alongside the interactive
TUI one, so no interactive session and no extra spawn flag are needed.
Verified live against clide's exact flag set.
Also records the prompt-arbitration model: first-to-apply wins, both
sides linked by the same request_id, loser retracts via
control_cancel_request, clear is idempotent. That is already the shipped
protocol rather than a policy clide has to invent — which narrows the
remaining work to honoring the retraction, since clide currently has no
control_cancel_request handling at all.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>