# How should my skill ask the user for missing arguments?

When your skill is invoked, the host injects an instruction telling the model to collect anything it still needs through an inline elicitation form rather than through AskUserQuestion, and the answers come back as bullet points in the next message instead of as a tool result. Declaring an argument-hint is what makes that path work well. This is a steer, not a wall: AskUserQuestion still exists and still functions.

### Do not build your skill's argument collection around AskUserQuestion in Cowork.

*From binary* · *Costs friction* · *Depends on server-side configuration — can change without a version bump*

On every top-level skill invocation (not inside sub-agents) the host injects an instruction telling the model to gather missing context through the elicitation form — pills, free text, dates, a file dropzone — and explicitly not through AskUserQuestion, which it reserves for one-off clarifications mid-task. The answers arrive as bullet points in the model's next message, not as a tool result, so a skill written to wait for a tool result is waiting for something that will not come. Declaring `argument-hint` in your frontmatter is what makes this path work: the hint is passed through verbatim, and a skill without one leaves the model told to infer what to collect from your SKILL.md.

> Caveat: This is a steer, not an enforcement boundary. AskUserQuestion remains callable and functional; what was verified is that Cowork injects the instruction, not that a model obeys it in any particular run.

> Caveat: Delivery is gated server-side and read on at the 2026-08-13 and 2026-09-23 captures. A session where that flag is off receives no such instruction, and the guidance does not apply.

> Caveat: Measured on one machine: in 71 Cowork sessions that asked the user anything after receiving the instruction, the model used the form in 31, AskUserQuestion in 27 and both in 13 — so your skill must handle answers arriving either way.

## What is not established

- The instruction is injected text, not an enforcement boundary. Whether a model follows it in any given run has not been observed here — only that Cowork sends it, and that the flag delivering it read on at the last capture.

---

Consistent with the capture of 2026-09-23. Exact artifact versions and capture identity are on the current-state page. This documentation does not detect product changes.
