ASK_USER_TOOL_DESCRIPTION = 'Ask the user one or more questions when you need clarification or input before proceeding.\n\nEach question can be one of:\n- "text": Free-form text response from the user\n- "multiple_choice": User selects exactly one of the predefined options (
an "Other" option is always available)\n- "multi_select": User selects one or more of the predefined options (an "Other" free-form option is always available; filling one reveals an "Add another" slot for more custom values)\n\nFor "multiple_choice" and "multi_select" questions, provide a list of choices, each with a non-empty "value". For "multiple_choice" the user picks one option or types a custom answer via the "Other" option; for "multi_select" the user toggles one or more of the provided options and may also add one or more custom free-form Other values among the selected values.\n\nA "multi_select" answer is returned as a JSON array of the selected values, e.g. ["a",
"b"] (an optional question the user leaves untouched returns []). "multi_select" choice values and custom Other text may themselves contain commas, quotes, and newlines. A "multiple_choice" value is returned on its own with no escaping, so keep that one to a single line.\n\nBy default all questions are required. Set "required" to false for optional questions that the user can skip. Do not include "(required)", "(optional)", "- optional", or similar annotations in the question text — the UI renders that separately based on the "required" field.\n\nUse this tool when:\n- You need clarification on ambiguous requirements\n- You want the user to choose between multiple valid approaches\n- You need specific information only the user can provide\n- You want to confirm a plan before executing it\n\nDo NOT use this tool for:\n- Simple yes/no confirmations (just proceed with your best judgment
)\n- Questions you can answer yourself from context\n- Trivial decisions that don\'t meaningfully affect the outcome'