{"version":"2.1.281","anchor":"remote-control-bridge-gets-a-remotecontrolorigin-and-a-per-s","canonical_anchor":"remote-control-bridge-gets-a-remotecontrolorigin-and-a-per-s","heading":"Remote Control startup: policy recheck on cache miss, reason codes and per-session history backfill","tier":"internal","area":"Remote Control","url":"https:\/\/changelogs.core-directive.com\/v\/2.1.281\/e\/remote-control-bridge-gets-a-remotecontrolorigin-and-a-per-s","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.281","markdown":"### Remote Control startup: policy recheck on cache miss, reason codes and per-session history backfill\n\nRemote Control rechecks org policy before refusing, records a reason code when it does not start, and sends each session only undelivered history\n\n**Unclear.** The finding does not say what `remoteControlOrigin` is used for or in which situations backfill is switched off.\n\n**What**\n\nRemote Control lets you follow and drive a local Claude Code session from another device through a connection called the bridge. Several parts of how the bridge starts have changed.\n\n- When the `allow_remote_control` organization policy is not in the local cache, Claude Code now loads the policy limits and checks again instead of refusing straight away. If it still cannot confirm, the message now says it couldn't verify your organization's policy and asks you to check your network connection and try again, instead of the fixed \"disabled by your organization's policy\".\n\n- Every refusal from the eligibility check now carries a short reason code: `not_first_party`, `cloud_session`, `managed_disabled`, `not_signed_in`, `not_subscription_auth`, `flags_unreachable` and `gate_off`, along with `token_scope_limited`, `no_organization`, `policy_unverified`, `org_policy_denied` and `flags_disabled`. The messages you see are unchanged.\n\n- When the bridge does not start, Claude Code now records that reason code, or `bridge_disabled` if there is none. Before, it only wrote a debug line.\n\n- The bridge now receives a `remoteControlOrigin` value and a `getBackfillMessages` callback. The callback returns the conversation minus messages already delivered to that bridge session, and returns nothing at certain moments. History is converted through a new helper. Before, only `initialMessages` and `getMessages` were passed.\n\n**Why**\n\nRemote Control should no longer say it is disabled by your organization when the policy simply had not loaded yet. Sending each remote session only the history it has not received may avoid duplicate messages after reconnecting, and the reason codes make it possible to tell why Remote Control did not start.\n\n- Area: Remote Control\n- Tier: Under the hood\n- Useful: 2\/5\n- Signal: 3\/5"}