| name | ask-question |
| description | Use the IDE AskQuestion tool when the agent needs user input. Use when asking the user to choose between options, confirm a decision, or pick from discovered alternatives — never ask multiple-choice questions in plain chat. |
Ask Question (IDE)
Rule
When you need an answer from the user and the response can be expressed as one or more clear options, use the IDE AskQuestion tool. Do not ask that question in plain chat.
Plain chat is only for free-text answers that cannot be represented as options (for example an email address, a secret, or a custom name the user must type).
When to use AskQuestion
- Choosing between approaches, environments, or profile layouts
- Confirming yes / no or proceed / stop
- Picking one value from a list you discovered in the codebase
- Selecting from a small set of permission sets, account ids, or role names
- Any question where you can offer meaningful predefined options
When plain chat is allowed
- The answer must be typed free text and cannot be turned into options
- You are reporting progress or explaining work, not collecting a structured choice
How to ask well
- One topic per call — do not combine unrelated decisions in one form unless they are tightly coupled.
- Derive options from context — prefer choices found in the project over generic placeholders.
- Include an escape hatch — when options may be incomplete, add something like
None of these / I will provide details.
- Wait for the answer — do not assume or proceed until the user responds.
Anti-patterns
- Asking "A or B?" in chat instead of
AskQuestion
- Listing numbered options in chat and asking the user to reply with a number
- Skipping
AskQuestion because the option list is short