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.
What's wrong with this entry?
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.
- The session envelope fields are
mcp_config(base64) andclaude_code_args; onlymodel,fallback-model,effortanddisallowed-tools/disallowedToolsare 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(value1, rewritten tospentso that grandchildren classify asdescendantand get no server-delivered servers) andCLAUDE_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_appliedandtengu_bridge_server_config_rejected, with skip categoriesbridge_carrier_foreign_entry,bridge_carrier_not_http,bridge_carrier_url_mismatch,bridge_carrier_no_ingress_originandbridge_carrier_no_session_id.
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.