Skip to content
Developer Preview

approval/resolved

The first durable approval terminal landed; protected delivery.

Type: ApprovalResolvedParams

approval/resolved params: the first durable terminal decision.

Field Type Stability Presence Description
abortReason string optional Why an abort was not a cancel, when the host knows: lockEpochEnded | brokerUnavailable, an open vocabulary. Clients render an unknown value like an absent one.
amendment ApprovalAmendment optional The policy rule the decision created. Present only when the decision created one.
approvalId string required The approval that was decided.
byClient ClientInfo Experimental optional The client whose approval/decide won (ADR 73001 D4): absent on policy, judge and interrupt terminals, for a connection with no recorded handshake, and on older logs.
decidedAt string optional The decision time as RFC3339, projected from the durable DecisionApplied record’s own stamp (ADR 45450 D3): optional on the wire so decoders tolerate its absence, always populated by current hosts.
decidedByCommandId string optional The commandId of the approval/decide command that won. Absent when no such command made the decision, for example a policy or LLM judge decision.
decision ApprovalDecision required The final decision.
itemId string required The toolCall view item this approval was holding.
policyResult ApprovalPolicyResult required Whether the final decision lets the action run (allow) or blocks it (deny).
resolvedBy ApprovalResolvedBy required Who or what made the decision: user, policy or llmJudge.
sessionId string required The owning session.
sourceRange SourceRange required The stored records this event was folded from: an opaque token clients must not interpret.
stageEvidence ApprovalStageEvidence[] required For a shell approval, how each stage was resolved when the decision became final. Empty for other subject kinds, and it can be empty for shell too.
subagentOrigin ApprovalSubagentOrigin optional Present only for a child (native subagent) approval projected onto the parent session’s plane (ADR 36182); parent-own approvals omit it.
turnId string required The turn whose tool call this approval was holding.
viewCursor string required This event’s view cursor: opaque, and strictly increasing within the session.
Source

schema/msp/experimental/msp.schema.json#/notifications/approval~2Fresolved

{
"description": "The first durable approval terminal landed; protected delivery.",
"params": {
"$ref": "#/$defs/ApprovalResolvedParams"
}
}