{"version":"2.1.295","anchor":"permission-prompts-can-be-re-checked-and-carry-a-title-and-p","canonical_anchor":"permission-prompts-can-be-re-checked-and-carry-a-title-and-p","heading":"Permission requests gain a title, a provenance line value and a recheck","tier":"notice","area":"SDK","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.295\/e\/permission-prompts-can-be-re-checked-and-carry-a-title-and-p","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.295","markdown":"### Permission requests gain a title, a provenance line value and a recheck\n\nPermission requests sent to SDK hosts now carry a title and a one_at_a_time or all_at_once value for blocked URL fetches, and pending prompts can resolve on recheck\n\n**What**\n\nWhen Claude Code runs without its own screen (headless, for example under the Agent SDK, the library that lets your program drive Claude Code), it asks the host program for permission through a `can_use_tool` request handled by `canUseTool`. That request has changed.\n\n- `title` is a new field on the request.\n\n- `provenance_prompt_line` is a new internal field with the value `one_at_a_time` or `all_at_once`. It says whether WebFetch prompts refused by the URL proxy were queued in a line.\n\n- `provenancePromptLine` is the matching value on the ask result made when the session's URL provenance check (a check on where a web address came from) denies a fetch. It is set from `oneAtATime`.\n\n- A new recheck runs while a prompt is waiting. If the recheck allows the call, the waiting prompt is dropped. Before, the prompt only waited for the hook or host to answer.\n\n**Why**\n\nHost programs receive more detail about each permission request, including how blocked web fetches were grouped. Prompts that no longer need an answer can now go away by themselves instead of waiting.\n\n- Area: SDK\n- Tier: You'll notice\n- Useful: 2\/5\n- Signal: 2\/5\n- Scope: individual\n- Heads-up: no"}