approval/reviewing
The native reviewer holds an approval: the fold of a Requested whose phase is automated_reviewing; typed activity, not a request.
Parameters
Section titled “Parameters”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" }}