What
The Agent SDK lets a program drive Claude Code from code. MCP servers are add-ons that give Claude extra tools, and some run inside the host program itself. The SDK could already pass a "manifest" for each such server: the server's answers to its start-up call (initialize) and its tool-list call (tools/list), so Claude Code does not have to ask for them live. This release changes how those manifests are accepted and reported, especially in remote sessions, which run on Anthropic's cloud rather than on your own computer.
sdkMcpServerManifestsOriginis a new optional field in the SDK's initialize request. Its valuehost_per_sendmarks that the host put the manifests together for this particular send. Remote session transports ignore a manifest without this mark, and Claude Code refuses marked manifests older than five minutes.sdk_mcp_manifests_parkedis a new field in the initialize response. For each SDK MCP server it reports one outcome:parked,already_connected,protocol_version_mismatch,malformedornot_honoured. A parked manifest answers the server's initialize and first tools/list without a live round trip.- On remote-session workers, manifests are not honoured and the servers go through the normal handshake over the control channel. Before, manifests were honoured everywhere except on an older kind of worker, and no per-server outcome was reported.
- The
sdk_mcp_manifestsrefresh channel is offered only when the server-controlled switchtengu_sdk_mcp_manifestsallows it (built-in fallback: on). For remote transports it also needs a session limited to the owner's account (owner_account_only) and the switchtengu_ccr_sdk_mcp_remote_manifests(built-in fallback: off). Otherwise onlysdk_mcp_tools_list_changedis used. A separate helper gives the reasonsflag_offandflag_unsettled. Before,tengu_sdk_mcp_manifestswas checked once per session. - A list that held only
mcp_read_resource_v1now also holdssdk_mcp_tools_list_changedandsdk_mcp_manifests. The same change adds the namemodel_saved_successor_noticeto a list and passes a newgateCausedetail in one internal report.
Why
A host that uses manifests to speed up MCP server start-up can now see, for each server, whether the shortcut was used and why not. In remote sessions the shortcut depends on the origin marker, the manifest's age and the remote switch. No reading has been taken of tengu_ccr_sdk_mcp_remote_manifests, so whether remote sessions use manifests in practice is not known.
tengu_sdk_mcp_manifests 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.286: 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.
tengu_ccr_sdk_mcp_remote_manifests Not enough to sayNothing here resolved what this flag was doing on this version, so nothing here should be read as on or off.
This account: no value returned · anonymous baseline: no value returned · compiled default in v2.1.286: 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.286. It isn't a statement about your account. What a flag value here can and cannot tell you
New in this build: tengu_ccr_sdk_mcp_remote_manifests