[Bug] Remote Control auto-enables without user consent on new sessions
Bug Description
Remote Control auto-enables without user action.
Every new session starts with it active. I have never run /rc, --rc, or
claude remote-control. Ruled out: aliases, shell config, settings.json,
env vars, plugins. disableClaudeAiConnectors is true and it activates anyway.
~/.claude.json contains seenNotifications["remote-control-auto-on"], so this
looks intentional.
Impact: the session becomes remotely reachable, and per the docs, tool results
cross that bridge — including the contents of every file the agent reads. A
user who did not opt in has no reason to know that. On client code, that is a
disclosure nobody consented to.
The docs list three explicit activation paths and describe no automatic
behaviour.
Asking for: confirmation of whether auto-on is intended, documentation of it,
and a settings key to disable it globally. Per-session disconnect is not a
control.
Environment Info
- Platform: darwin
- Terminal: xterm-256color
- Version: 2.1.250
- Feedback ID: 27b0db8d-e05e-4f28-84c5-dda4a95f1af7
Errors
[]
3 Comments
This is labelled area:core, but the impact is a security and consent one: the session becomes remotely reachable and file contents cross that bridge without the user opting in. Worth a security label.
I just hit this too. Completely unacceptable.
Same bug, with more evidence: it also fires in plain terminal sessions on Windows, it bridges sessions across machines on one account, and here is the exact resolver from the binary plus the opt-out that works.
Summary
Since about 2026-09-01, every Claude Code session on two of my machines (macOS and Windows 11), desktop app and plain terminal alike, has been visible to and controllable from the other machine. No flag, no setting, and no visible opt-in on the terminal side. The cause is the Remote Control auto-enable rollout. The user-scope opt-out works but is undocumented in
/configandclaude --help.Environment
| | macOS | Windows 11 |
|---|---|---|
| Claude Code | 2.1.258 (native) | 2.1.263 |
| Launch | Desktop app (Code tab) and
claudein Terminal | Desktop app andclaude.exein Windows Terminal, no--remote-control|| Account | Claude Max, same account on both | same |
|
remoteControlAtStartup| unset in every scope | unset in every scope ||
cachedGrowthBookFeatures.tengu_cobalt_harbor| true | true ||
cachedGrowthBookFeatures.tengu_cobalt_harbor_notice| true | true ||
cachedGrowthBookFeatures.tengu_ide_rc_auto_enable| true | true ||
seenNotifications.remote-control-auto-on| 1 | 1 ||
remoteControlSurfacesSeen| ["desktop"] | ["desktop"] |What I observed
--remote-control) hadCLAUDE_CODE_BRIDGE_SESSION_IDin its environment and abridgeSessionIdin its~/.claude/sessions/<pid>.json. Its footer showed/rc active.ListAgentsreturned 23 peers from the Mac (hostname-prefixed auto-names such asmac-gentle-comet, plus my named sessions and a cloud session). Only one session record existed locally, so everything else came over the bridge.~/.claude/sessions/carry abridgeSessionId. All of them were created on 2026-09-05. None was started with--remote-control.~/.claude/settings.json, and once I closed the terminal the session archived and lost the bridge, so nothing could reach it from the other machine.Root cause, from the CLI binary (2.1.258)
The startup resolver (
getRemoteControlAtStartup) is:tengu_cobalt_harboris cached true on both machines, andremoteControlAtStartupis unset, so every session auto-starts the bridge. Theremote_control_auto_on_by_defaultflag on the init response is true for the same reason.The disclosure notice (
remote-control-auto-on) is gated ontengu_cobalt_harbor_notice, shows at most 3 times, and had been consumed once on the desktop surface days earlier. Plain terminal sessions showed nothing beyond a/rc activefooter pill that reads as status, not as an opt-in that just happened.Why this is a problem
claudein a terminal is now reachable and steerable from any other device on the account. That is a meaningful change in the trust model and it arrived without a per-machine, per-surface confirmation./config,claude --help, andclaude doctor. I found the setting name by reading strings out of the binary.What fixed it
~/.claude/settings.json(user scope) on both machines:Existing sessions stayed bridged until restarted, as expected.
Requests
remoteControlAtStartupin/configandclaude --help./rc activefooter pill say what it means the first time it appears in a terminal session ("this session is reachable from claude.ai and your other devices").remoteControlAtStartup: falseto user settings, since that is the only way to turn the rollout off from inside a session.Session identifiers
session_01EkTxHRtrhmGu27MqnXF459, hostwin11.e3dfda(tabletop-5e-fd), 2026-09-06.