{"version":"2.1.239","anchor":"bridge-launched-processes-hand-down-a-one-use-marker-and-ver","canonical_anchor":"bridge-launched-processes-hand-down-a-one-use-marker-and-ver","heading":"Bridge-launched processes hand down a one-use marker and verify the prompt they are piped","tier":"internal","area":"Bridge","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.239\/e\/bridge-launched-processes-hand-down-a-one-use-marker-and-ver","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.239","markdown":"### Bridge-launched processes hand down a one-use marker and verify the prompt they are piped\n\nProcesses launched by the bridge mark their marker as spent, so grandchildren are told apart.\n\n**What**\n\nA process started by the bridge is identified by an environment variable it consumes: it rewrites `CLAUDE_CODE_BRIDGE_MCP_CARRIER` from \"1\" to \"spent\" for anything it spawns, so a grandchild is recognisable as further removed rather than as the bridge child itself.\n\n**Details**\n\n- Three variables are new: `CLAUDE_CODE_BRIDGE_MCP_CARRIER`, `CLAUDE_CODE_BRIDGE_PROMPT_SHA256` and `CLAUDE_CODE_BRIDGE_SESSION_ID`.\n- A prompt piped to such a process is accepted only if its sha256 matches `CLAUDE_CODE_BRIDGE_PROMPT_SHA256`, and that variable is cleared immediately after reading.\n- Under `CLAUDE_CODE_ENVIRONMENT_KIND` of \"byoc\" with `CLAUDE_CODE_REMOTE` set, the carrier variable is deleted for children rather than marked spent.\n\n**Evidence**\n\n`CLAUDE_CODE_BRIDGE_MCP_CARRIER`\n\n- Area: Bridge\n- Names: `CLAUDE_CODE_BRIDGE_MCP_CARRIER`, `CLAUDE_CODE_BRIDGE_PROMPT_SHA256`\n- Tier: Under the hood\n- Useful: 1\/5\n- Signal: 3\/5"}