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

Claude Code v2.1.296 ·

MCP tool lists are capped per server, and file-grant tools get special handling

Claude Code now limits how many tools one MCP server can list, and MCP tools marked for file grants get a wrapper and skip XML-tag stripping

Group of 2 You'll notice Internal Changes
JSON All of v2.1.296
You'll noticeTier: how much it should matter to you
3Useful: my rating, 1 to 5
3Signal: worth watching, 1 to 5
MCPArea: what it touches
Internal ChangesKind: in v2.1.296,
ImprovementsSection of the release

Unclear Which _meta marker triggers this handling, and which MCP servers use it, is not stated.

What

MCP servers are outside programs that give Claude Code extra tools. This release changes how Claude Code lists those tools and how it calls some of them:

  • Per-server tool limit: when a server lists more tools than allowed, Claude Code counts how many it skipped and logs a warning for that server, recording the reason tool_listing_over_limit with a skippedCount. Before, every tool a server returned was listed.
  • File-grant tools: a tool whose _meta field (extra details the server attaches to a tool) carries a particular key now gets a special input wrapper. The wrapper calls the server directly and returns the server's structuredContent, which is data in a fixed shape.
  • XML-tag stripping: calls to such a tool check hasFileGrants. When file grants exist, the call skips the trailing-XML-tag stripping that sits behind the tengu_mcp_strip_trailing_xml_tags switch. Before, that stripping was always applied. The switch still defaults to off in the code.
  • Per-message tool state: tool-call results can now also record tool state for each message.

Why

If you connect a server with a very large tool list, some of its tools may no longer be listed, and the warning in the logs tells you how many were skipped. The _meta file-grant handling looks like groundwork for MCP tools that work with files, and those tools now have their results passed back without the trailing tags being trimmed.

Read from
Names in the bundle_meta
Feature flag
tengu_mcp_strip_trailing_xml_tags Not enough to say

Nothing 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.296: 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.296. It isn't a statement about your account. What a flag value here can and cannot tell you

Since it was published

The entry above is what we published on the day. These lines were added later, as Anthropic's own pages caught up, and they sit beside the original rather than replacing it.

Confirmed since Anthropic's documentation has since written up _meta, on Configure permissions. Tools that require user interaction behave the same way: `AskUserQuestion` and MCP tools whose server sets [`_meta["anthropic/requiresUserInteraction"]`](/docs/en/mcp#require-approval-for-a-specific-tool) always fall through to the callbac… agent-sdk/permissions see the edit
How sure we are
Something disagreesSomething we can check disagrees with this entry, or the writer said they could not settle it.
The writer flagged doubtWhich `_meta` marker triggers this handling, and which MCP servers use it, is not stated.
Anthropic's documentation agreesAnthropic's documentation has since written up _meta, on Configure permissions.

See this entry in the whole of v2.1.296 →

Feedback