In auto mode MCP connections would probe for a modern protocol and fall back to legacy, but nothing enables it.
MCP clients can probe for a modern protocol era with per-transport budgets; auto mode is not enabled in this build.
tengu_mcp_protocol_negotiation_stdio On for this account, and not off by defaultThe flag server returned on for the one account this site reads, and nothing in this release compiles it off by default. The compiled default is shown below, and says which it is when we cannot read one: a fifth of gates compile in a string or a number rather than on or off, and most published releases have no gate table behind them at all. No client can see what the server returns for your account.
This account: on · anonymous baseline: on · compiled default in v2.1.221: on
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.
Read once, for one account on one subscription tier, against v2.1.221. It isn't a statement about your account. What a flag value here can and cannot tell you
What's wrong with this entry?
When negotiation is in auto mode, the client probes for a modern protocol era and falls back to a pinned legacy connection if the probe fails.
- Selection is per transport: http, claudeai-proxy and stdio each consult their own gate and default to legacy absent a remote value; sse, ws, ide, in-process, ccr-proxy and sdk-control are always legacy.
- Probe budgets differ per transport; stdio uses min(3000, connect-timeout/3).
- Connected clients record
negotiatedProtocolVersionandprotocolEra, and clients are constructed with an explicitjsonSchemaValidator. - An invalid
MCP_PROTOCOL_NEGOTIATIONvalue is warned about and ignored. - None of this machinery exists in 2.1.220.
MCP_PROTOCOL_NEGOTIATION=${t} is invalid; expected 'legacy' or 'auto' — ignoring, tengu_mcp_protocol_negotiation_stdio
Strings lifted out of the shipped bundle, so the claim above can be checked against them.
Related
Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.
-
v2.1.248
Control traffic survives a re-authentication instead of being dropped
Both mention protocol