Claude now negotiates a protocol era with MCP servers and only uses the experimental permission channel for older ones.
What's wrong with this entry?
Connected MCP client records now carry a protocol era and the negotiated protocol version, derived from a server/discover-based negotiation, and that era decides which permission channel is used.
- New fields
protocolEraandnegotiatedProtocolVersionon connected client records. - Connection telemetry emits both alongside
negotiationMode. - The experimental
claude/channel/permissionpath is now used only for servers whose era is not modern (r.protocolEra !== "modern"). - Tool-schema compatibility checks take the era as an argument.
protocolEra
Strings lifted out of the shipped bundle, so the claim above can be checked against them.