{"version":"2.1.292","anchor":"webfetch-url-permission-prompts-one-at-a-time-with-approva","canonical_anchor":"webfetch-url-permission-prompts-one-at-a-time-with-approva","heading":"WebFetch URL permission prompts can be shown one at a time with approval memory (tengu_orderly_lantern)","tier":"notice","area":"WebFetch","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.292\/e\/webfetch-url-permission-prompts-one-at-a-time-with-approva","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.292","markdown":"### WebFetch URL permission prompts can be shown one at a time with approval memory (tengu_orderly_lantern)\n\nWebFetch's URL approval prompts were reworked: approvals are remembered while prompts wait, and tengu_orderly_lantern shows one prompt at a time\n\n**Unclear.** It is not clear whether remembering approvals and retrying before asking also depend on the switch, or apply to everyone.\n\n**What**\n\nWebFetch is the tool Claude uses to read a web page. When it is not allowed to fetch a URL on its own, it asks you for permission. This prompt flow was reworked:\n\n- Approved URLs are remembered while prompts are pending. Origins (the site part of a URL) are also remembered when your answer adds allow rules.\n\n- A denial clears the remembered approvals.\n\n- A request that waits behind another prompt and finds its URL or origin already approved is fetched again without asking (`served_without_prompt`).\n\n- Earlier prompts left unanswered shorten the next prompt's timeout. A request can end as `expired_in_line` when waiting in the queue uses up its time, and the model is told: \"The user did not answer an earlier permission request in time, so the request for this URL was not sent to them.\" The model is told to ask the user to include the URL.\n\n- With `tengu_orderly_lantern` true, prompts are serialised through a lock (`s.acquire`), so only one is shown at a time. With it false, the new outcome handling exists but nothing is serialised. The compiled fallback is false, and nothing has been read about this gate yet.\n\nBefore, there was a single prompt with a fixed timeout, outcomes were limited to suppressed_*, `timed_out`, `approved`, `denied` and `retry_denied`, and nothing was remembered.\n\nThe stock `WebFetch` description captured under this release is unchanged.\n\n**Why**\n\nWhen Claude fetches several pages at once, you may see fewer stacked prompts and not be asked twice about a site you just approved. The one-at-a-time behaviour applies only where the flag is on.\n\n- Flag `tengu_orderly_lantern`: Not enough to say (read for one account on one subscription tier against v2.1.292; this account: no value returned, anonymous baseline: no value returned, compiled default: off) These values were read against a different version of Claude Code, so treat them as the nearest reading available instead of one taken on this release.\n- Area: WebFetch\n- Tier: You'll notice\n- Useful: 4\/5\n- Signal: 4\/5\n- Scope: individual\n- Heads-up: no"}