{"version":"2.1.248","anchor":"bridge-mode-redaction-now-also-requires-a-transport-that-per","canonical_anchor":"bridge-mode-redaction-now-also-requires-a-transport-that-per","heading":"Bridge-mode redaction now also requires a transport that persists output","tier":"notice","area":"Artifacts","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.248\/e\/bridge-mode-redaction-now-also-requires-a-transport-that-per","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.248","markdown":"### Bridge-mode redaction now also requires a transport that persists output\n\nBridge-mode redaction now only kicks in when your transport actually persists sent output.\n\n**What**\n\nRedaction in \"bridge\" environments used to hinge only on the environment kind. It now requires both `CLAUDE_CODE_ENVIRONMENT_KIND === \"bridge\"` and an active transport that persists outbound frames, so a locally attached transport turns the redaction off.\n\n**Details**\n\n- A new per-host object tracks the active transport and reports whether it persists, whether it was pinned local, and whether the remote bridge is live.\n- Startup registers the transport as active only when `--sdk-url` or stream-json output is in play; otherwise it pins the transport local, which makes the predicate false.\n- Around forty call sites in the control-protocol layer use it: MCP server lists are cut down to name and status, the memory-file list is emptied, absolute paths are substituted, and crash text changes.\n- Invisible unless the process is launched with the bridge environment kind and a persisting transport.\n\n**Evidence**\n\n`CLAUDE_CODE_ENVIRONMENT_KIND === \"bridge\"`\n\n- Area: Artifacts\n- Names: `CLAUDE_CODE_ENVIRONMENT_KIND`\n- Tier: You'll notice\n- Useful: 2\/5\n- Signal: 3\/5"}