Skip to content
Developer Preview

approval/reviewing

The native reviewer holds an approval: the fold of a Requested whose phase is automated_reviewing; typed activity, not a request.

Type: ApprovalRequestParams

Full params shared by approval/request and approval/requested.

Field Type Stability Presence Description
approvalId string required The approval’s stable id. Match approval/decide, approval/updated and approval/resolved by it, never by the JSON-RPC request id, which belongs to one connection.
availableChoices ApprovalChoice[] required The choices the server offers for the current requirement. Send the chosen one’s choiceId in approval/decide; clients never build their own.
cuaCardFacts ApprovalCuaCardFacts optional A Computer Use card’s facts: the page, the window and each step that may have an effect, in the host’s words; absent on every other approval.
currentRequirementId ApprovalRequirementRef required The requirement the next decision must target; send it unchanged as requirementId in approval/decide. For shell it names the first stage still needing a decision; for other kinds its sourceIndex is 0.
itemId string required The toolCall view item waiting on this approval.
judgeEscalated boolean required true when the automated LLM judge saw this request first and handed it to a person without deciding. A display hint only. The host sends it as false when it re-issues the request after a restart or on session/resume; a re-send for a later stage keeps it.
protectedWrite boolean required true when this approval guards a write to a protected file. Only allow-once and reject choices are offered, and a decision is accepted only while at least one client is subscribed to the session.
rawArgs string required The tool call’s arguments as a string, usually JSON. With toolName, it lets a client show a subject whose kind it does not recognize.
sessionId string required The owning session. For a subagent’s approval shown on the parent, this is the parent session.
sourceRange SourceRange required The stored records this event was folded from: an opaque token clients must not interpret.
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.
subject ApprovalSubject required What the approval is for. Show a kind you do not recognize generically, and never auto-approve it.
taskId string required The id of the task running the tool call.
toolCallId string required The model provider’s id for this tool call.
toolName string required The name of the tool being called.
turnId string required The turn whose tool call is waiting on this approval.
viewCursor string required The cursor of the approval/requested event that opened this request. A re-send for a later stage keeps this cursor, so view/page at it returns the opening stage, which may be older than this payload.
Source

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

{
"description": "The native reviewer holds an approval: the fold of a Requested whose phase is automated_reviewing; typed activity, not a request.",
"params": {
"$ref": "#/$defs/ApprovalRequestParams"
}
}