McpAnnotationTrustChange
Defined in: core/dist/config/shell-policy.d.ts:534
EXT-70 §4.7.1/§4.7.4 — the outcome of believing (or ceasing to believe) hints from one server, so the surface that asked can report exactly what landed and what it costs.
weakening is the field that keeps the human un-surprised. Withdrawing trust pushes a hint
back to its fail-closed default, which for three of the four is a weakening, so the saved
approvals made for that server while the hint was believed will be invalidated (§4.7.4) at the
next call to that tool. That has to be said where the user withdraws trust, not only in the
notice that arrives later.
Extends
Section titled “Extends”Properties
Section titled “Properties”added: (
"readOnlyHint"|"destructiveHint"|"idempotentHint"|"openWorldHint")[]
Defined in: core/dist/config/shell-policy.d.ts:536
Hints this change started believing (absent from the previous set).
configured
Section titled “configured”configured:
boolean
Defined in: core/dist/config/shell-policy.d.ts:515
Whether this key names a server in the loaded config’s mcpServers.
Inherited from
Section titled “Inherited from”McpServerAnnotationTrust.configured
invalidates
Section titled “invalidates”invalidates:
string[]
Defined in: core/dist/config/shell-policy.d.ts:572
§4.7.4 — the saved approvals for this server that the resulting trust actually weakens, each
rendered by describeApprovalEntry. They are the ones that will be withdrawn, with the §4.7.4
notice, at the next call to that tool.
A prediction, never a deletion. Invalidation stays scoped to the call being decided, because a sweep would read every held grant against a source that can only answer for the tools registered right now — a server that happened to be offline would read as having weakened everything it ever declared, and the grants would go. Listing them is safe where deleting them is not.
It over-reports in two distinct ways, and both are the same trade. The comparison is each
grant’s recorded snapshot against the set in force now, not the set before this change against
the set after it. So (1) a server that is offline when trust moves declares nothing, resolves to
the fail-closed constant, and every grant it holds is named; and (2) a grant already weakened
for some other reason — an earlier withdrawal, a tools/list that took a hint back — is named
under whichever withdrawal happens to run next, including one that moved nothing relevant to it.
A named grant is therefore one that the trust now in force weakens, which is what the user needs
to know; it is not a claim that this withdrawal is what weakened it. Reading it as the latter
is how a test comes to assert causation the field never promised.
Empty is likewise not “nothing is at risk” but “nothing this session can see is”: with weakening non-empty the rule still holds for any grant made while those hints were believed, which is what the notice says in that case. Counted read-only, like AllowlistCounts: the persisted store is consulted only when it is already loaded.
removed
Section titled “removed”removed: (
"readOnlyHint"|"destructiveHint"|"idempotentHint"|"openWorldHint")[]
Defined in: core/dist/config/shell-policy.d.ts:538
Hints this change stopped believing (present in the previous set).
server
Section titled “server”server:
string
Defined in: core/dist/config/shell-policy.d.ts:511
§4.7.5 — the user’s own mcpServers config key.
Inherited from
Section titled “Inherited from”McpServerAnnotationTrust.server
trusted
Section titled “trusted”trusted: (
"readOnlyHint"|"destructiveHint"|"idempotentHint"|"openWorldHint")[]
Defined in: core/dist/config/shell-policy.d.ts:513
The hints believed from this server, resolved through defaults where it is not named.
Inherited from
Section titled “Inherited from”McpServerAnnotationTrust.trusted
weakening
Section titled “weakening”weakening: (
"readOnlyHint"|"destructiveHint"|"idempotentHint"|"openWorldHint")[]
Defined in: core/dist/config/shell-policy.d.ts:545
§4.7.4 — the subset of removed whose withdrawal can weaken an effective set, and therefore invalidate a grant. Empty on a grant of trust, which can never weaken: every weakening move ends at the fail-closed default, and believing a hint only ever moves away from it.