anthropics / anthropics/claude-code

Desktop app: Remote Control on a running session is dropped by every app relaunch (auto-update) and only restored on the next user message; deleting another session also switched it off

Open
#95,407 0 comments 0 reactions 0 assignees View on GitHub
area:desktop bug platform:macos
Dominant language
Python
Stars
145k
Forks
23.1k
PR merge metrics
PR metrics pending

Description

## Summary

In the Claude desktop app (Code tab), Remote Control on a running local session is silently dropped whenever the app relaunches (auto-update install), and it is only re-enabled when the user sends the next message to that session. A second, separate drop: deleting one session's card disabled Remote Control on a different, still-running session.

"Enable remote control by default" is ON in Settings. The Mac was awake throughout (the log has entries every hour through both nights), the network did not change, and no other device took the session over.

## Environment

- Claude desktop app 2.2553.1 (arm64, macOS 27.2, Electron/Node 24.20.0); Claude Code component initialized as 2.1.275 (2.1.271 and 2.1.274 on the earlier boots)
- Local session, bypass permissions mode, long running (created 2026-08-11), Remote Control switch on
- Log: ~/Library/Logs/Claude/main.log

## What happens

1. The app auto-updates and relaunches (four boots in two days: 2026-09-17 00:08, 04:18, 18:43 and 2026-09-18 02:53; three of them right after "[updater] Update downloaded and ready to install").
2. After the boot the app reconnects its other bridges within a second (`[sessions-bridge] ... reconnected successfully`, `[remote-tools-device] connecting DO bridge`), but Remote Control for the running session is never reconnected and nothing about it is logged.
3. Pushes from the session then fail with "Mobile push not sent (Remote Control inactive)" and the phone no longer follows the session.
4. It comes back only when the user sends a message: `[rcAutoEnable] verdict: enable=true source=user_intent trigger=warm_send` followed by `Enabling remote control for session ...` and `bridge_state: "connected"`. Gaps were 8 to 12 hours each time.

Separately, at 2026-09-17 08:34 the user deleted a different session's card. The log shows `[LocalSessionManager] Requested CCR delete of 1 Remote Control bridge session(s) for deleted session ` and, nine seconds later, `Disabling remote control for session `, where is the unrelated session that was still running. Its Remote Control stayed off until the next message at 13:24.

## Expected

After a relaunch (update or otherwise) the app restores Remote Control for every session that had it on, the same way it reconnects its other bridges, without waiting for user input. Deleting one session should not disable another session's Remote Control.

## Log excerpt (session ids masked; = the long-running session, = the deleted one)

```
2026-09-17 00:08:05 [info] [bootPreconnect] proxy for https://claude.ai resolved in 245 ms (direct)
2026-09-17 00:10:23 [info] Enabling remote control for session

2026-09-17 00:10:27 [info] [remote-control] bridge_state: "connected"
2026-09-17 04:08:15 [info] [updater] Update downloaded and ready to install { releaseName: 'Claude 2.110.1' }
2026-09-17 04:18:53 [info] [bootPreconnect] proxy for https://claude.ai resolved in 30 ms (direct)
2026-09-17 04:18:53 [info] [updater] Version changed since last launch: 2.110.0 -> 2.110.1
(no remote-control line until the next user message)
2026-09-17 08:32:48 [info] [rcAutoEnable] verdict: enable=true source=user_intent trigger=warm_send
2026-09-17 08:32:48 [info] Enabling remote control for session

2026-09-17 08:32:51 [info] [remote-control] bridge_state: "connected"
2026-09-17 08:34:24 [info] [LocalSessionManager] Requested CCR delete of 1 Remote Control bridge session(s) for deleted session
2026-09-17 08:34:33 [info] Disabling remote control for session

2026-09-17 13:24:09 [info] Enabling remote control for session

2026-09-17 15:19:09 [info] [updater] Update downloaded and ready to install { releaseName: 'Claude 2.2553.0' }
2026-09-17 18:43:03 [info] [bootPreconnect] proxy for https://claude.ai resolved in 16 ms (direct)
2026-09-17 18:43:03 [info] [updater] Version changed since last launch: 2.110.1 -> 2.2553.0
(no remote-control line until the next user message)
2026-09-18 00:20:24 [info] Enabling remote control for session

2026-09-18 02:43:14 [info] [updater] Update downloaded and ready to install { releaseName: 'Claude 2.2553.1' }
2026-09-18 02:53:52 [info] [bootPreconnect] proxy for https://claude.ai resolved in 30 ms (direct)
2026-09-18 02:53:52 [info] [updater] Version changed since last launch: 2.2553.0 -> 2.2553.1
(no remote-control line until the next user message; a push at 06:40 reported Remote Control inactive)
2026-09-18 12:08:14 [info] [rcAutoEnable] verdict: enable=true source=user_intent trigger=warm_send
2026-09-18 12:08:14 [info] Enabling remote control for session

2026-09-18 12:08:17 [info] [remote-control] bridge_state: "connected"
```

## Workaround in use

Sending any message to the session restores it. The session itself now checks its own `remoteControlState` on a schedule and re-enables the switch when it finds it off.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the Claude desktop app's session lifecycle and the LocalSessionManager, using ~/Library/Logs/Claude/main.log to reproduce the relaunch and session-deletion cases. Verify that Remote Control reconnects for every previously enabled running session after relaunch and that deleting one session leaves unrelated sessions enabled.

Written by the indexing model from the issue text.

Assessment

Tech stack
electron, node.js
Domain
desktop
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.