[BUG] Desktop app: Code-tab sessions are never registered for Remote Control despite "Enable remote control by default" (remoteControlAtStartup ignored)
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?
Sessions created in the Claude Desktop app's Code tab are never registered as Remote Control sessions. They never appear in the Claude mobile app's Code tab and cannot be steered from another device.
Settings → Claude Code → Enable remote control by default is ON, and ~/.claude/settings.json contains "remoteControlAtStartup": true. The device itself shows Connected in the mobile app, and sessions hosted on the same machine by the standalone CLI do appear and work normally — so account, entitlement, pairing and network are all fine. Only sessions originating in the Desktop app are affected.
Likely cause: the Desktop app spawns each Code session as a headless stream-json subprocess rather than an interactive session, and passes no --remote-control (full command line in the Logs field below). Since remoteControlAtStartup is documented as connecting "automatically when an interactive session starts", the toggle cannot take effect for these subprocesses.
The two session stores are also disjoint in both directions: a session started from the mobile app on this device does not appear in the Desktop app's own session list either.
Probably related: #83918 (remoteControlAtStartup not honored in the VS Code / Cursor extension) — same setting, different surface.
What Should Happen?
With "Enable remote control by default" turned ON, a session created in the Desktop app's Code tab should register a Remote Control session and appear in the Claude mobile app's Code tab under the connected device, steerable from the phone — as described in the Remote Control docs ("Enable Remote Control for all sessions", which explicitly lists the Desktop app toggle) and in the Claude Code on mobile docs.
Error Messages/Logs
No error is surfaced anywhere: no notification in the Desktop app, nothing in the session, and the device shows "Connected" on the phone. The session is simply absent from the mobile list.
Command line of a running Desktop-app Code session (session / plugin / account IDs redacted):
%APPDATA%\Claude\claude-code\2.1.221\claude.exe --output-format stream-json --verbose --input-format stream-json --effort xhigh --model claude-opus-5 --permission-prompt-tool stdio --resume=<session-uuid> --allowedTools <...> --setting-sources=user,project,local --permission-mode auto --include-partial-messages --plugin-dir <...> --thinking-display summarized --replay-user-messages --settings {}
Note: no --remote-control flag, and not an interactive session.
For contrast, the sessions that DO appear on the phone are hosted by a separate standalone CLI process:
%USERPROFILE%\.local\bin\claude.exe (v2.1.222)
Steps to Reproduce
- Windows 11 (build 10.0.26200), Claude Desktop app 1.25927.0.0 (MSIX, x64), signed in with a claude.ai account (no API key).
- In the Desktop app: Settings → Claude Code → Enable remote control by default → ON. Verify that
~/.claude/settings.jsoncontains"remoteControlAtStartup": true. - Fully quit and restart the Desktop app, so the setting is already in place before launch.
- Open the Code tab, create a new local session in any project folder, send a message and let it run.
- On the phone, open the Claude app → Code tab, signed in with the same account. The machine is listed under Devices as Connected.
- Expected: the session from step 4 is in the list. Actual: it never appears — not immediately, not after several minutes, not after pull-to-refresh. Meanwhile other sessions are listed normally: cloud sessions, and sessions hosted by
clauderunning in a terminal on this same machine. - Control test, to show the reverse direction works: on the phone tap New session on the same device. That session appears at once and is fully usable. So phone → desktop is fine; only desktop → phone fails.
Claude Model
Opus
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
2.1.221 (Claude Code) — engine bundled in Claude Desktop 1.25927.0.0; standalone CLI on PATH is 2.1.222
Platform
Anthropic API
Operating System
Windows
Terminal/Shell
PowerShell
Additional Information
Ruled out during diagnosis:
- Stale setting / needs a restart —
~/.claude/settings.jsonwas last written 2026-08-06 01:07 local time; the app's processes started 2026-08-06 10:39, i.e. nine hours later, already with the setting in place. - Overrides — no
C:\ProgramData\ClaudeCode\managed-settings.json; no project.claude/settings.json; the project's.claude/settings.local.jsoncontains only hooks and permissions, noremoteControl*key. The only occurrence of the key on disk is thetruein user settings. - Blocking environment variables —
ANTHROPIC_API_KEY,CLAUDE_CODE_OAUTH_TOKEN,CLAUDE_CODE_USE_BEDROCK,CLAUDE_CODE_USE_VERTEX,DISABLE_TELEMETRY,DO_NOT_TRACK,CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC,DISABLE_GROWTHBOOKare all unset;ANTHROPIC_BASE_URLishttps://api.anthropic.com. - Sleep / connectivity — the sleep timeout is 0 (never) on both AC and battery, and the device shows Connected on the phone throughout.
- Outdated build — 1.25927.0.0 is the latest available;
winget upgradelists no newer version, and%APPDATA%\Claude\claude-code\contains only 2.1.221.
Impact: there is no way to pick up Desktop-app work from a phone. The only workarounds are to start every cross-device session from the phone, or to keep claude remote-control running manually in a terminal — both of which defeat the purpose of a "by default" toggle.
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗