{"version":"2.1.282","anchor":"promptfill-now-reports-why-a-fill-was-refused-when-a-dialog","canonical_anchor":"promptfill-now-reports-why-a-fill-was-refused-when-a-dialog","heading":"prompt.fill now says why it did not fill the prompt","tier":"notice","area":"Hooks","url":"https:\/\/changelogs.core-directive.com\/v\/2.1.282\/e\/promptfill-now-reports-why-a-fill-was-refused-when-a-dialog","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.282","markdown":"### `prompt.fill` now says why it did not fill the prompt\n\nPlugin hooks calling `prompt.fill` now get a `refusal` reason such as \"dialog\" or \"no_composer\" when the prompt was not filled\n\n**What**\n\nThe `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:\n\n- `\"dialog\"`: a dialog was open over the prompt, so nothing was filled.\n\n- `\"no_composer\"`: there was no prompt box to fill.\n\nClaude Code's debug log shows the same reason where it used to say only \"not filled\".\n\n**Why**\n\nPlugin 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.\n\n- Area: Hooks\n- Names: `prompt.fill`\n- Tier: You'll notice\n- Useful: 3\/5\n- Signal: 2\/5"}