Processes launched by the bridge mark their marker as spent, so grandchildren are told apart.
What's wrong with this entry?
A 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.
- Three variables are new:
CLAUDE_CODE_BRIDGE_MCP_CARRIER,CLAUDE_CODE_BRIDGE_PROMPT_SHA256andCLAUDE_CODE_BRIDGE_SESSION_ID. - 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. - Under
CLAUDE_CODE_ENVIRONMENT_KINDof "byoc" withCLAUDE_CODE_REMOTEset, the carrier variable is deleted for children rather than marked spent.
CLAUDE_CODE_BRIDGE_MCP_CARRIER
Strings lifted out of the shipped bundle, so the claim above can be checked against them.