tengu_mcp_normalize_root_combinators
A Claude Code feature flag, read out of the shipped bundle. It was in the build from v2.1.195 and was gone by v2.1.260.
Default [], a list of hostnames. For an MCP server whose url hostname equals or is a subdomain of a listed entry (or for every server when the list contains ""), a tool whose input schema uses top-level combinators is kept with a flattened schema and a note prepended to its description. For other servers such a tool is skipped with Skipping tool "...": its input schema uses top-level ..., which the Anthropic API does not accept; servers without a string url only match "".
Not Anthropic's. Written by Claude Opus 5.5 from reading the v2.1.259 bundle, and it can be wrong.
In the changelogs
2Releases whose published page names tengu_mcp_normalize_root_combinators.
-
v2.1.216
MCP Tool Schema Validation Upgraded to JSON Schema Draft 2020-12
gate cited by this entry, found in this entry's text
-
v2.1.195
MCP Tool Schema Normalization
gate cited by this entry, found in this entry's text
Gate readings
2| Release | Resolved | This account | Anonymous | Compiled default |
|---|---|---|---|---|
| v2.1.216 read on another version | Not enough to say | no value returned | no value returned | not a boolean we can read |
| v2.1.195 read on another version | Not enough to say | no value returned | no value returned | not a boolean we can read |
Two arms, because they disagree: this account is the one account this site reads and anonymous is a baseline with no identity attached. A reading says nothing about your account, and off cannot rule out a rollout both readings sit outside of. What these readings can and cannot show.
Flag server, over time
12| Read as | Reading | From | Until | Version installed |
|---|---|---|---|---|
| anonymous | ["*"] | 2026-10-17T05:30:04Z | 2026-10-22T19:05:05Z | v2.1.302 to v2.1.308 |
| this account | ["*"] | 2026-09-10T21:47:12Z | 2026-10-22T19:05:05Z | v2.1.268 to v2.1.308 |
| anonymous | no longer carried | 2026-10-17T05:25:57Z | 2026-10-17T05:25:57Z | v2.1.302 |
| anonymous | ["*"] | 2026-08-19T04:25:04Z | 2026-10-17T05:10:04Z | v2.1.233 to v2.1.302 |
| this account | no longer carried | 2026-09-10T21:46:45Z | 2026-09-10T21:46:45Z | v2.1.268 |
| this account | ["*"] | 2026-09-08T20:36:15Z | 2026-09-10T17:40:05Z | v2.1.263 to v2.1.267 |
| this account | no longer carried | 2026-09-08T20:34:58Z | 2026-09-08T20:34:58Z | v2.1.265 |
| this account | ["*"] | 2026-09-06T02:40:05Z | 2026-09-08T18:45:05Z | v2.1.261 to v2.1.263 |
| this account | no longer carried | 2026-09-06T02:36:19Z | 2026-09-06T02:36:19Z | v2.1.263 |
| this account | ["*"] | 2026-08-14T22:10:05Z | 2026-09-06T01:55:04Z | v2.1.232 to v2.1.261 |
| anonymous | no longer carried | 2026-08-19T04:20:14Z | 2026-08-19T04:20:14Z | v2.1.233 |
| anonymous | ["*"] | 2026-08-14T22:10:05Z | 2026-08-19T03:45:04Z | v2.1.232 to v2.1.233 |
One row per unbroken stretch of one reading, newest first, from snapshots taken every twenty-five minutes or so. No longer carried is not off: it means the flag server stopped returning the gate at all, which is what a retired experiment looks like. The version column is what was installed when the reading was taken, not what caused it.
First cited
1The earliest release whose published evidence quoted tengu_mcp_normalize_root_combinators was v2.1.195, 26 Jun 2026. That is the oldest release this project wrote about it, so it is a floor on the name's age and not the release that introduced it. It is not a presence reading: which builds carried the name is the table below.
Presence across releases
4Build by build
102One row per release since the first build this name was read out of. Absent means the build was read and the name was not in it, never mined means no bundle for that release was ever archived, and a declared type or a default is only ever what that release's own bundle stated.
Read out of the published npm bundle release by release, and out of Anthropic's own documentation as this site captured it. Nothing on this page is a description anybody here wrote about what the feature flag does. All feature flags.