Stealth update relaunches the desktop app on idle, severing Remote Control sessions
Summary
The Claude desktop app's automatic "stealth update" relaunches itself after an idle timeout — which is exactly when a user relying on Remote Control (following/driving sessions from claude.ai/code on their phone) is away from the machine. Each relaunch closes the remote-tools device and every Remote Control bridge, and the remote sessions stay dead until sessions are re-engaged on the desktop. Users should not have to switch update channels or disable auto-updates to keep remote access alive.
Environment
- Claude desktop app (macOS, Code tab), app version 1.46388.3
- macOS (Darwin 25.5.0), Apple Silicon Mac mini
- Machine is always awake (sleep disabled); network confirmed stable — the drops correlate only with the updater
Observed behavior
~/Library/Logs/Claude/main.log shows the pattern 1–2x per day for a week:
[stealth-update] Triggering stealth update after idle timeout
[stealth-relaunch] otherAppFullScreen=false
[remote-tools-device] close
On 2026-09-04 this fired at 10:47 and again at 14:51. After the 14:51 relaunch, no Remote Control bridge reconnected until sessions were re-engaged locally around 16:08 — roughly 75 minutes with remote access dead while the user was away and depending on it.
Why this hurts
The trigger condition ("idle timeout") is inverted for Remote Control users: local idleness is precisely when remote usage is highest. The docs describe Remote Control surviving network drops and laptop sleep, but not an involuntary app relaunch, and there is no documented way to defer the relaunch or re-arm sessions afterward.
Requests
- Defer the stealth relaunch while any Remote Control bridge is connected (treat an active remote session as "not idle"), or
- Automatically re-arm Remote Control for previously enabled sessions after the update relaunch, and
- Document the behavior and give users a supported way to defer/schedule the relaunch.
Workaround tried
Set "autoUpdatesChannel": "stable" in ~/.claude/settings.json to reduce relaunch frequency — but it is not documented whether the desktop updater honors this key, and it trades away timely updates, which shouldn't be necessary.
---
🤖 Filed via Claude Code on the user's behalf
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗