anthropics / anthropics/claude-code
Desktop app (macOS): "Enable remote control by default" Settings toggle flips but has no effect, and remoteControlAtStartup only takes effect on first message, not session open
- 主要语言
- Python
- 星标
- 145k
- 派生
- 23.1k
- PR 合并指标
- PR 指标待抓取
描述
### Summary
Two related gaps found while trying to make Remote Control default-on for local sessions in Claude Desktop on macOS, plus a cross-platform inconsistency in how dormant sessions are represented on mobile:
1. **The Settings toggle doesn't do anything.** The Desktop app's Settings panel has an "Enable Remote Control for all sessions" switch. Flipping it on produces no change in behavior — new local sessions still do not get Remote Control by default. The only way to actually enable it was editing `~/.claude/settings.json` directly:
```json
{
"remoteControlAtStartup": true,
"remoteControlEnabled": true
}
```
It is unclear whether the Settings toggle writes to this file at all, or writes to a different key that the app does not actually read.
2. **Even with the setting correctly in place via direct file edit, it does not fire at session start.** Opening/warming a local session does not trigger the auto-connect — it only activates once the first message is sent. Log evidence from `~/Library/Logs/Claude/main.log`:
```
21:21:22 [info] [WarmLifecycle:preview] Warming up session local_f8bd7165-...
21:21:22 [info] [CCD] LocalSessions.setFocusedSession: sessionId=local_f8bd7165-...
21:21:22 [info] LocalSessions.startShellPty: sessionId=local_f8bd7165-...
— no Remote Control activity here, despite the session being fully warmed and focused —
21:21:50 [info] LocalSessions.sendMessage: sessionId=local_f8bd7165-...
21:21:50 [info] Sending message to session local_f8bd7165-...
21:21:50 [info] Enabling remote control for session local_f8bd7165-...
21:21:50 [info] [remote-control] bridge_state: "ready"
21:21:50 [info] [remote-control] bridge_state: "connected"
```
No manual toggle occurred in the ~28s gap between warm/focus and the message send — the only difference is "session open and idle" vs. "first message sent."
3. **Cross-platform inconsistency in how this shows up on mobile.** Viewing from the Claude iOS app: sessions on a Windows PC that has gone to sleep still appear in the list, shown as "disconnected." Sessions on the Mac app, by contrast, do not appear at all until Remote Control comes back online (i.e. until a message is sent per point 2) — at which point they appear directly as "connected," with no disconnected placeholder state in between. Same underlying mechanism (RC not active until first message), but the two platforms represent the "not currently connected" state differently on the mobile client.
### What should happen
Flipping "Enable Remote Control for all sessions" in Settings should have the same effect as manually setting `remoteControlAtStartup`/`remoteControlEnabled` in `settings.json`, a session should register for Remote Control at start rather than waiting for the first message, and dormant/inactive sessions should be represented consistently across platforms on the mobile client (either both show a "disconnected" placeholder, or neither does).
### Environment
- Claude Desktop, macOS 15.7.7 (24G720), Code tab, interactive (non-headless) local session
- Comparison observed via Claude iOS app against a Windows PC session (asleep) and a macOS session (idle, RC not yet active)
### Related
- #84502 — same setting failing to connect at session start, for headless Code-tab subprocesses on Windows; this report's timing evidence (delay until first message, not session open) may generalize to that case, worth checking whether affected sessions there ever had a message sent through them.
- #48949 — desktop app not honoring `remoteControlAtStartup`, same broken-toggle theme.
- #90768 — related UI/setting-fidelity gap for the same toggle.
- #84994 — "local sessions unreachable from mobile unless the desktop app keeps them running," directly related to point 3's cross-platform visibility gap.
贡献指南
这个仓库没有索引到贡献指南
调研方向
Start by checking whether the Desktop Settings toggle updates ~/.claude/settings.json, especially remoteControlAtStartup and remoteControlEnabled. Reproduce the idle-session behavior while watching ~/Library/Logs/Claude/main.log, comparing session warm/focus with first-message events. Done means the toggle is honored, Remote Control starts when the session opens, and mobile shows dormant sessions consistently.
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- ios, json, macos
- 领域
- desktop, mobile-dev
- Issue 类型
- 缺陷
- 难度
- 5/5
- 预计耗时
- 一周以上
- 活跃度
- 活跃
- 描述清晰度
- 基本清楚
- 新手友好度
- 28/100