Agent Client Protocol - v0.5.1
    Preparing search index...

    Interface RequestPermissionRequest

    Requests permission from the user for a tool call operation.

    Called by the agent when it needs user authorization before executing a potentially sensitive operation. The client should present the options to the user and return their decision.

    If the client cancels the prompt turn via session/cancel, it MUST respond to this request with RequestPermissionOutcome::Cancelled.

    See protocol docs: Requesting Permission

    interface RequestPermissionRequest {
        _meta?: { [k: string]: unknown };
        options: PermissionOption[];
        sessionId: string;
        toolCall: {
            _meta?: { [k: string]: unknown };
            content?: ToolCallContent[] | null;
            kind?: ToolKind | null;
            locations?: ToolCallLocation[] | null;
            rawInput?: { [k: string]: unknown };
            rawOutput?: { [k: string]: unknown };
            status?: ToolCallStatus | null;
            title?: string | null;
            toolCallId: string;
        };
    }
    Index

    Properties

    _meta?: { [k: string]: unknown }

    Extension point for implementations

    options: PermissionOption[]

    Available permission options for the user to choose from.

    sessionId: string

    The session ID for this request.

    toolCall: {
        _meta?: { [k: string]: unknown };
        content?: ToolCallContent[] | null;
        kind?: ToolKind | null;
        locations?: ToolCallLocation[] | null;
        rawInput?: { [k: string]: unknown };
        rawOutput?: { [k: string]: unknown };
        status?: ToolCallStatus | null;
        title?: string | null;
        toolCallId: string;
    }

    Details about the tool call requiring permission.

    Type Declaration

    • Optional_meta?: { [k: string]: unknown }

      Extension point for implementations

    • Optionalcontent?: ToolCallContent[] | null

      Replace the content collection.

    • Optionalkind?: ToolKind | null

      Update the tool kind.

    • Optionallocations?: ToolCallLocation[] | null

      Replace the locations collection.

    • OptionalrawInput?: { [k: string]: unknown }

      Update the raw input.

    • OptionalrawOutput?: { [k: string]: unknown }

      Update the raw output.

    • Optionalstatus?: ToolCallStatus | null

      Update the execution status.

    • Optionaltitle?: string | null

      Update the human-readable title.

    • toolCallId: string

      The ID of the tool call being updated.