ask_user_multiple
Present a popup to let users select one or more options from a list, enabling multi-choice input for preferences, features, or tags.
Instructions
Ask the user to choose ONE OR MORE options from a list. Use this tool instead of listing options in your text response whenever the user can select multiple items.
WHEN TO USE THIS TOOL:
You are about to list items and ask "which ones do you want?" or "select all that apply"
The user can pick multiple non-exclusive options (e.g., "Which features to include?", "Which files to modify?", "What languages do you know?")
You need to gather multiple preferences at once
EXAMPLES OF WHEN TO USE:
"Which features do you want?" → Use this tool
"Select the files to include" → Use this tool
"What integrations should I add?" → Use this tool
"Pick all applicable tags" → Use this tool
⚠️ CRITICAL: Each parameter MUST be passed SEPARATELY. Do NOT combine them!
❌ WRONG (options contains title/description - WILL FAIL): options: [{"label": "A"}, {"label": "B"}], "title": "...", "description": "..."
✅ CORRECT (each parameter separate): options: [{"label": "A"}, {"label": "B"}] title: "Select features" description: "Choose all that apply"
PARAMETERS:
options (REQUIRED): Array of objects, each with "label" (required) and optional "description", "recommended"
title (optional): String displayed above options
description (optional): String displayed below title
min_selections (optional): Minimum selections required
max_selections (optional): Maximum selections allowed
allow_other (optional): Boolean to allow custom input
The tool opens a popup in the user's browser and waits for their selections. If allow_other is true, users can add custom text if predefined options don't fit. Returns an array of selected options, or indicates if the user skipped.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| title | No | Optional title displayed above the selection. Use to provide context or ask a question. | |
| options | Yes | List of options for the user to choose from. Each option must have a label property. Use description for additional context (pros/cons, features). The user will see these in a popup and can select multiple. | |
| allow_other | No | If true, adds an "Other" option that allows the user to enter custom text. The "Other" text will be included in the results array if selected. | |
| description | No | Optional description text displayed below the title. Use for additional instructions or clarification. | |
| other_label | No | Custom label for the "Other" option. Only used when allow_other is true. | Other |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Whether the user submitted selections, skipped, or requested an explanation for an option | |
| comments | No | Additional comments provided by the user (only present if allow_comments was true and user entered text) | |
| selections | No | The selected options (only present if action is "submit") | |
| explainOption | No | The option for which explanation was requested (only present if action is "request_explanation") | |
| explainMessage | No | A pre-formatted message asking for explanation (only present if action is "request_explanation") |