[BUG] Remote Control: a prompt submitted on one machine is executed twice — the account's bridge environment runs it again on a second machine, with duplicated side effects

Status Closed — not planned
Reported on v2.1.232
Maintainer reply None cached
Activity 1 comment · opened Aug 21, 2026 · closed Aug 21, 2026

Preflight Checklist

  • [x] I have searched existing issues. The Remote Control bridge issues I found describe delivery failing (#86717, #85435, #86084, #87963) or session sync being requested (#52052, #81835). This is the opposite failure mode: delivery succeeding twice, on two different machines. #27658 is same-machine cross-contamination between Code-tab sessions, not cross-machine. Closest changelog entry is 2.1.232 ("Desktop/IDE-hosted sessions now reattach to existing claude.ai sessions instead of creating duplicates"), which addressed a different duplicate — a duplicated claude.ai session, not a duplicated execution host.
  • [x] This is a single bug report
  • [x] I am using the latest version

What's Wrong?

With Remote Control enabled, **one prompt submitted on machine A is executed on machine A and on machine B**. Machine B is the host that holds the account's persistent bridge environment slot. Both hosts run the same turn, in the same project directory path, with the same permission mode — in my case bypassPermissions.

This is not "the session is visible on another device". Both hosts actually execute: two independent agents ran the same instruction, each spawning subagents, creating a git worktree, and writing files.

The duplicate is not visible from either side. Machine A shows a normal local session. Machine B shows a normal new Code-tab session with an auto-generated title. Nothing in either UI indicates the same turn is live twice.

Environment

  • Claude Desktop 1.32885.1.0, Windows 11 Home 10.0.26200.9168, MSIX (Claude_pzs8sxrjxfjjc)
  • Hosting binary: bundled Claude Code 2.1.234 (CLAUDE_CODE_EXECPATH=…\Claude_pzs8sxrjxfjjc\LocalCache\Roaming\Claude\claude-code\2.1.234\claude.exe), CLAUDE_CODE_ENTRYPOINT=claude-desktop, CLAUDE_CODE_CHILD_SESSION=1
  • A separate native CLI install (2.1.238) is on PATH but did not host this session
  • claude.ai OAuth, personal account, Remote Control enabled and consented
  • Two Windows machines signed into the same account; both keep the same project checked out at the same absolute path

Evidence

On the machine that received the duplicate (machine B), the transcript begins as a bridge session and the prompt arrives through the bridge queue — it was never typed here:

{"type":"bridge-session","sessionId":"81a2b252-74c1-4328-abfe-ac1378e82c48","bridgeSessionId":"cse_01L95LAxQ23xTERCT71K9MwC","lastSequenceNum":0}
{"type":"queue-operation","operation":"enqueue","timestamp":"2026-08-21T09:51:19.230Z","sessionId":"81a2b252-74c1-4328-abfe-ac1378e82c48","content":"<the prompt typed on machine A>"}
{"type":"queue-operation","operation":"dequeue","timestamp":"2026-08-21T09:51:19.965Z","sessionId":"81a2b252-74c1-4328-abfe-ac1378e82c48"}

Enqueue → dequeue in 735 ms, then the local agent ran the turn to completion.

%APPDATA%\Claude\bridge-state.json on machine B shows it holding a persistent, always-on slot for the account:

{
  "<org>:<account>": {
    "enabled": true,
    "userConsented": true,
    "environmentId": "env_01YAFoNgH8U7fsUrPZ8CGYti",
    "localSessionId": "local_ditto_<org>",
    "remoteSessionId": "cse_01DF4iJMoGqiiu8aXUm5QTYm",
    "processedMessageUuids": [],
    "pendingProcessedAcks": []
  }
}

The Code-tab record created for the duplicate (%APPDATA%\Claude\claude-code-sessions\…\local_29f89ca2-….json) has titleSource: "auto" and permissionMode: "bypassPermissions" — it presents as an ordinary locally-started session.

Grepping every transcript on machine B for the prompt text returns exactly one file, so the duplication is across machines, not two sessions on one machine.

Bridge sessions of this shape first appear on this machine at 2026-08-20T21:24Z; there were none before that, which lines up with the app update.

Steps to Reproduce

  1. Sign two machines into the same account with Remote Control enabled. One of them registers the account's bridge environment (bridge-state.json gains a local_ditto_* slot).
  2. On the other machine, start a Claude Code session in the desktop app and submit a prompt.
  3. Observe the machine holding the bridge slot: a new Code-tab session appears and independently executes the same prompt.

Expected

A prompt submitted in a session is executed by exactly one host. If a turn is relayed to a bridge environment, the originating host must not also run it (or vice versa) — and if a second host is going to execute, that must be visible in both UIs.

Actual

Both hosts execute the same turn. Neither UI shows the other. Side effects are duplicated.

Impact

This is worse than a cosmetic sync bug because both agents act:

  • Duplicated writes into the same repository path on two machines — in my case two git worktree creations and two branches for the same task.
  • Duplicated external side effects. The same turn can send the same email, post the same comment, or run the same deployment twice. Anything non-idempotent is at risk.
  • Both hosts inherit bypassPermissions, so there is no prompt on the second machine to reveal that a second agent is running.
  • Doubled token spend per turn, silently.

Notes

I cannot capture both sides in one log from a single machine — the evidence above is from the machine that received the relayed turn; the duplicate execution on the originating machine was observed directly by the user. Happy to collect main.log from both machines if that helps triage.

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗