{"version":"2.1.286","anchor":"mcp-config-servers-get-dialinconnectondialstart-options","canonical_anchor":"mcp-config-servers-get-dialinconnectondialstart-options","heading":"MCP server connections gain dial-in options, and blocked-server refusal honors a new setting","tier":"internal","area":"MCP","url":"https:\/\/changelogs.core-directive.com\/v\/2.1.286\/e\/mcp-config-servers-get-dialinconnectondialstart-options","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.286","markdown":"### MCP server connections gain dial-in options, and blocked-server refusal honors a new setting\n\nThe MCP connect path accepts `dialInConnect` and `onDialStart`, changing when `--mcp-config` servers connect; headless startup waits are now recorded\n\n**Unclear.** It is not clear what sets these options or how the timing changes in practice.\n\n**What**\n\nMCP servers are separate programs that give Claude Code extra tools. Servers you load with `--mcp-config` go through a connect step, and that step has changed.\n\n- `dialInConnect` and `onDialStart` are two new options (callbacks, meaning functions the caller supplies) that the MCP connect function now accepts and passes on to the connection code.\n\n- When `dialInConnect` is set, the connect step skips the branch it normally takes for servers that are not marked as required.\n\n- The check that refuses blocked servers now also honors `refusesBlockedServers`.\n\n- Claude Code now records when a headless run (one with no interactive screen, such as `-p` mode) waits for named MCP servers at launch, and when the end of a turn is held back by a classifier.\n\n**Why**\n\nThis changes when `--mcp-config` servers connect, especially servers that are not required before the first turn. If you rely on a server being connected at a particular moment in a scripted or headless run, check that it still behaves as you expect.\n\n- Area: MCP\n- Names: `--mcp-config`\n- Tier: Under the hood\n- Useful: 1\/5\n- Signal: 2\/5"}