Tools · People
ask_user_async
Read-onlyPause an Autopilot run to ask the user a clarifying question — non-blocking; the run halts into awaiting_user and resumes once the user answers via `shipit answer <run_id> "..."`.
When to use: Use `ask_user_async` when you need a clarification from the user DURING an Autopilot run — but the run is long (minutes or hours) and you can't wait for a synchronous reply. What happens when you call it: 1. The question you pass is written to a side channel (file). 2. Autopilot checkpoints the run and halts cleanly with status="awaiting_user". 3. The user sees the question via their UI / shell — they reply with `shipit answer <run_id> "..."` at their own pace. 4. Autopilot resume() — either manual or via the scheduler daemon — picks up the answer and passes it to you as tool output. Use when: - You discovered an ambiguity the code can't resolve on its own. - A decision needs human judgment (product call, priority, style). - You'd otherwise loop forever without a choice being made. Do NOT use when: - You can look it up in the codebase (read_file / grep_search first). - The ask is "should I proceed?" — pick a default, note it, proceed. - You only need an approval for a destructive action — the harness already asks for that separately. Format your question concretely. "Which SSO provider should I wire up? Options: Okta, Auth0, Google Workspace, Microsoft Entra." beats a vague "what auth should we use?".
Example
The call
{
"tool": "ask_user_async",
"arguments": {
"question": "Which region should the export run in?",
"choices": [
"EU",
"US"
]
}
}Needs a person to answer later; the run carries on meanwhile
So it isn't run here, and no output is shown: nothing on this page is made up.
Parameters
| Name | Type | Description |
|---|---|---|
| question* | string | The ONE focused question to put to the user. |
| context | string | Optional one-line context on why you need the answer (what you tried, what is ambiguous). |
| choices | array | Optional list of suggested answers — the user is not forced to pick one. |
* required
More in People
Ask the user a question or hand a decision to a person.