Source Intelligence

DisclaimerUnofficial, and not affiliated with Anthropic. Nearly all of this is read straight out of what ships: npm bundles, captured prompts, published docs. Anthropic's own notes go in verbatim, marked as theirs. The rest is my reading, and every entry carries the strings behind it. If one looks wrong, vote it down and say why.

All of v2.1.239 Home All releases olderv2.1.238 v2.1.240newer
Claude Code v2.1.239

Remote Control workers can be handed MCP config and a system prompt by the daemon, switched off in this build

Not switched on
Useful2 Signal5
Remote Control not in their notes

Remote Control workers could receive MCP config and prompts from the daemon, but no session does.

A complete daemon-to-worker config handoff sits behind a check whose body returns false.

CLAUDE_CODE_BRIDGE_MCP_CARRIERCLAUDE_CODE_BRIDGE_PROMPT_SHA256
What

A complete path exists for a Remote Control session to arrive carrying MCP server config and extra CLI arguments, have the daemon write them to a locked-down temp directory and pass them to the worker process. Every call into it sits behind a check whose body returns false, so on this build no session config is ever built and neither new environment variable is ever set.

Details
  • The session envelope fields are mcp_config (base64) and claude_code_args; only model, fallback-model, effort and disallowed-tools/disallowedTools are accepted, and anything else is counted and dropped.
  • Of the servers in the config, only a single HTTP server on the bridge's own origin would be honoured; the rest are counted and ignored, with a rejection logged as "[bridge:server-config] meta url does not name the meta mount on the bridge origin".
  • Files are written mode 0600 with exclusive-create, into a spawn root whose owner and mode are checked first, and the directory is deleted when the session closes.
  • The worker is marked with CLAUDE_CODE_BRIDGE_MCP_CARRIER (value 1, rewritten to spent so that grandchildren classify as descendant and get no server-delivered servers) and CLAUDE_CODE_BRIDGE_PROMPT_SHA256.
  • The child re-hashes the prompt file it was given and refuses it on mismatch: "[bridge:carrier] --append-system-prompt-file does not match the prompt the daemon wrote; dropped".
  • Outcomes report as tengu_bridge_server_config_applied and tengu_bridge_server_config_rejected, with skip categories bridge_carrier_foreign_entry, bridge_carrier_not_http, bridge_carrier_url_mismatch, bridge_carrier_no_ingress_origin and bridge_carrier_no_session_id.
Evidence

CLAUDE_CODE_BRIDGE_PROMPT_SHA256, [bridge:server-config] meta url does not name the meta mount on the bridge origin, (Remote Control child only) bridge_carrier_foreign_entry, bridge_carrier_not_http, bridge_carrier_url_mismatch, bridge_carrier_no_ingress_origin, bridge_carrier_no_session_id, [bridge:carrier] --append-system-prompt-file does not match the prompt the daemon wrote; dropped

Strings lifted out of the shipped bundle, so the claim above can be checked against them.

See this entry in the whole of v2.1.239 →