{"version":"2.1.286","anchor":"relayholdfollowsbootverdict-for-mcp-prewait-gated-by-tengu-d","canonical_anchor":"mcp-connect-relay-hold-can-follow-boot-verdict-tengu-dapper","heading":"MCP startup wait on relay workers can follow a new relay-hold check","tier":"soon","area":"MCP","url":"https:\/\/changelogs.core-directive.com\/v\/2.1.286\/e\/relayholdfollowsbootverdict-for-mcp-prewait-gated-by-tengu-d","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.286","markdown":"### MCP startup wait on relay workers can follow a new relay-hold check\n\nBehind tengu_dapper_platypus, relay-marked workers only hold for their relay when it is still usable, else wait for MCP servers normally\n\n**Unclear.** What decides whether a worker keeps its relay hold at startup is not established.\n\n**What**\n\nBefore running its first command, Claude Code can wait for MCP servers (external tools it connects to) to finish starting. A worker is a Claude Code process running remotely or behind a bridge. Previously, whether it was relay-marked decided that wait on its own. There is now a separate `relayHold` value, controlled by a new flag passed as `relayHoldFollowsBootVerdict`.\n\n- The flag is read at startup from the gate `tengu_dapper_platypus`. A gate is a switch Anthropic can turn on or off remotely. Nothing has been read about this gate's state, so whether it is on is unknown.\n\n- With the flag set, the relay hold applies only when a new check, `relayStillUsableInProcess`, says the relay can still be used in this process. With the flag off, the old behaviour applies.\n\n- When a relay-marked worker gets no relay hold, it logs: \"relay-marked worker: no relay hold (its relay can no longer be used in this process); the first command waits for MCP servers as on an unmarked worker\".\n\n- A new `launchNamed` setting, a `mcpConnectKickedAtMs` value and a check at the start of the transcript are wired into the wait handling.\n\n- `CLAUDE_CODE_MCP_STARTUP_WAIT_MS` is now capped by the same limit as the connector prewait, the short wait for connectors before the first command, instead of its own separate limit.\n\n**Why**\n\nThis changes how long headless or relay workers wait for MCP servers before their first command. A worker whose relay is no longer usable waits like an ordinary worker instead of relying on a relay it cannot use. If you set `CLAUDE_CODE_MCP_STARTUP_WAIT_MS`, the upper limit on your value may now differ.\n\n- Flag `tengu_dapper_platypus`: Not enough to say (read for one account on one subscription tier against v2.1.286; this account: no value returned, anonymous baseline: no value returned, compiled default: off) These values were read against a different version of Claude Code, so treat them as the nearest reading available instead of one taken on this release.\n- Area: MCP\n- Tier: Nothing to try yet\n- Useful: 1\/5\n- Signal: 3\/5\n- Present in the build but not switched on"}