Follow Discord
Sweep 22 Oct 2026 · 04:32Z Build v2.1.308 527 read Stable v2.1.308 Latest v2.1.308 Next v2.1.308 Feeds RSS JSON llms.txt llms-full.txt Unofficial

Claude Code v2.1.221 ·

MCP protocol-era negotiation (2026-07-28 "modern" revision) added behind per-transport gates

A newer MCP protocol handshake exists per transport but every gate falls back to legacy here.

Nothing to try yet Notable In Development
JSON All of v2.1.221
Nothing to try yetTier: how much it should matter to you
3Useful: my rating, 1 to 5
4Signal: worth watching, 1 to 5
MCPArea: what it touches
In DevelopmentKind: in v2.1.221,
What probably matters to youSection of the release

Per-transport MCP protocol negotiation is wired for http, stdio and proxies, all defaulting to legacy; MCP_PROTOCOL_NEGOTIATION overrides it.

What

Connecting to an MCP server can now probe for a new protocol era instead of initializing directly, but every gate involved falls back to legacy in this build.

Details
  • The connect path builds a negotiation config per transport and passes it to the client as versionNegotiation; only http, claudeai-proxy, ccr-proxy and stdio are eligible at all.
  • Each eligible transport asks its own gate: Je("tengu_mcp_protocol_negotiation_http", !1), tengu_mcp_protocol_negotiation_claudeai, tengu_mcp_protocol_negotiation_stdio. All of them fall back to { mode: "legacy" } when there is no remote value, so on this build alone nothing negotiates.
  • The supported revision list is ["2026-07-28", "2025-11-25", "2025-06-18", "2025-03-26", "2024-11-05", "2024-10-07"], the first two via constants.
  • MCP_PROTOCOL_NEGOTIATION=legacy|auto overrides the gates; any other value logs a warning and is ignored.
  • The negotiated era is threaded into auth-failure diagnostics and into the claude/channel setup, which now skips registration on modern connections.
Evidence

tengu_mcp_protocol_negotiation_http, connection negotiated a modern protocol revision with no unsolicited notification path

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

Read from
Names in the bundleMCP_PROTOCOL_NEGOTIATION=legacyMCP_PROTOCOL_NEGOTIATION=auto
Feature flag
tengu_mcp_protocol_negotiation_http Off by default, switched on for this account

The shipped code defaults this off, and the flag server returned on for the one account this site reads on this version. That is the reading that makes the entry above worth a second look, and it still says nothing about your account.

This account: on · anonymous baseline: on · compiled default in v2.1.221: 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.

tengu_mcp_protocol_negotiation_claudeai Off by default, switched on for this account

The shipped code defaults this off, and the flag server returned on for the one account this site reads on this version. That is the reading that makes the entry above worth a second look, and it still says nothing about your account.

This account: on · anonymous baseline: on · compiled default in v2.1.221: 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.

tengu_mcp_protocol_negotiation_stdio Off by default, switched on for this account

The shipped code defaults this off, and the flag server returned on for the one account this site reads on this version. That is the reading that makes the entry above worth a second look, and it still says nothing about your account.

This account: on · anonymous baseline: on · compiled default in v2.1.221: 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.

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 has happened since
Flag reading moved The flag server now returns on for tengu_mcp_protocol_negotiation_claudeai, read as this account. A reading is one sample. Claude Code evaluates its flags remotely, so no client sees the targeting rule behind a value and this says nothing about your account.
Flag reading moved The flag server now returns off for tengu_mcp_protocol_negotiation_claudeai, read as this account. A reading is one sample. Claude Code evaluates its flags remotely, so no client sees the targeting rule behind a value and this says nothing about your account.
Flag reading moved The flag server now returns on for tengu_mcp_protocol_negotiation_stdio, read as this account. A reading is one sample. Claude Code evaluates its flags remotely, so no client sees the targeting rule behind a value and this says nothing about your account.
Flag reading moved The flag server now returns off for tengu_mcp_protocol_negotiation_stdio, read as this account. A reading is one sample. Claude Code evaluates its flags remotely, so no client sees the targeting rule behind a value and this says nothing about your account.
Flag reading moved The flag server now returns on for tengu_mcp_protocol_negotiation_stdio, read as this account. A reading is one sample. Claude Code evaluates its flags remotely, so no client sees the targeting rule behind a value and this says nothing about your account.
Flag reading moved The flag server now returns off for tengu_mcp_protocol_negotiation_stdio, read as this account. A reading is one sample. Claude Code evaluates its flags remotely, so no client sees the targeting rule behind a value and this says nothing about your account.
Flag reading moved The flag server now returns on for tengu_mcp_protocol_negotiation_stdio, read as this account. A reading is one sample. Claude Code evaluates its flags remotely, so no client sees the targeting rule behind a value and this says nothing about your account.
Flag reading moved The flag server now returns off for tengu_mcp_protocol_negotiation_stdio, read as this account. A reading is one sample. Claude Code evaluates its flags remotely, so no client sees the targeting rule behind a value and this says nothing about your account.

See this across every release →

How sure we are
One source agreesOne thing we can check says the same as this entry.
The name it cites is new in this buildNew in this build: tengu_mcp_protocol_negotiation_claudeai

See this entry in the whole of v2.1.221 →

Feedback