You'll noticeTier: how much it should matter to you
3Useful: my rating, 1 to 5
2Signal: worth watching, 1 to 5
HooksArea: what it touches
ImprovementsKind: in v2.1.282,
ImprovementsSection of the release
What
The prompt.fill hook call lets a plugin put text into the box where you type your message. When it could not do that, it used to return only isFilled: false. It now also returns a refusal value that says why:
"dialog": a dialog was open over the prompt, so nothing was filled.
"no_composer": there was no prompt box to fill.
Claude Code's debug log shows the same reason where it used to say only "not filled".
Why
Plugin authors can now tell a prompt blocked by an open dialog apart from other failures, which makes it easier to retry at the right moment or report a clear error.
The entry above is what we published on the day. These lines were added later, as Anthropic's own pages caught up, and they sit beside the original rather than replacing it.
Confirmed sinceAnthropic's documentation has since written up prompt.fill, on Test a mod.A stub for a mods API call returns an object with a `value` field, which holds what the call resolves to in your mod: `{ value: 7 }` makes `$.store.get` resolve to `7`. A stub for one of Claude Code's events, such as [`turn.step`](/docs/en…plugins/mods/testsee the edit
How sure we are
One source agreesOne thing we can check says the same as this entry.
Anthropic's documentation agreesAnthropic's documentation has since written up prompt.fill, on Test a mod.