{"version":"2.1.101","anchor":"sdk-protocol-request-user-dialog","canonical_anchor":"sdk-protocol-request-user-dialog","heading":"SDK Protocol: request_user_dialog","tier":null,"area":null,"scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.101\/e\/sdk-protocol-request-user-dialog","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.101","markdown":"### SDK Protocol: request_user_dialog\n\n**What**\n\nA new SDK protocol message type `request_user_dialog` that enables tool-driven blocking dialogs, replacing the previous Ink JSX-based approach.\n\n**Details**\n\n- New message types: `request_user_dialog` (request) and `user_dialog_response` (response)\n- Uses `dialog_kind` as an open string union to identify which dialog to render (known kinds: `\"it2_setup\"`, `\"computer_use_approval\"`)\n- Enables SDK consumers to render custom dialogs and return structured results\n- Description: \"Requests the SDK consumer to render a tool-driven blocking dialog and return the user choice\"\n\n**Evidence**\n\nDialog protocol (search for `\"request_user_dialog\"`)"}