AskUserQuestion silently discards model-supplied content in its result fields (answers, annotations)

Status Open
Reported on v2.1.226
Maintainer reply None cached
Activity 0 comments · opened Aug 9, 2026

The AskUserQuestion input schema declares fields the harness itself fills after the user answers: answers ("User answers collected by the permission component") and annotations ("Optional per-question annotations from the user").

Because they sit in the input schema, a model can fill them when calling the tool, and the call validates and runs. The content then disappears: nothing renders in the dialog, and no error or warning comes back to the model.

Steps to reproduce:

  1. Have the model call AskUserQuestion with annotations populated with marker text.
  2. The dialog shows the question and options normally, and the marker text appears nowhere.
  3. The tool result carries the user's answer as usual, with no indication anything was dropped.

Why it matters: the model reads the schema, sees a declared field, and treats it as usable input. In our session it put the before/after edit preview the user was supposed to decide on into annotations instead of the options' preview fields. The user got a question with no preview and had to reject it blind. Neither side got any signal that content was lost.

Expected: model-supplied values in harness-filled result fields fail validation, the same way additionalProperties: false already rejects undeclared fields. A warning in the tool result would also do.

Seen on Claude Code 2.1.226, macOS.

View original on GitHub ↗