{"version":"2.1.290","anchor":"plugin-toasts-now-yield-to-or-invalidate-earlier-ones-with","canonical_anchor":"plugin-toasts-now-yield-to-or-invalidate-earlier-ones-with","heading":"Waiting plugin toasts now give way to the same plugin's newer ones","tier":"notice","area":"Plugins","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.290\/e\/plugin-toasts-now-yield-to-or-invalidate-earlier-ones-with","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.290","markdown":"### Waiting plugin toasts now give way to the same plugin's newer ones\n\nA plugin toast that is still waiting to be shown is now replaced by that plugin's newer toasts, and toast text passes through a sanitizer\n\n**Unclear.** The exact rules for when a plugin toast waits and when it replaces another are not settled.\n\n**What**\n\nA toast is a small pop-up notification. Plugins, which are add-ons that extend Claude Code, can show them. This release changes how a plugin's toasts line up and replace one another.\n\n- Plugin toasts now carry a per-plugin key and two ordering settings, `waitsItsTurn` and `invalidates`, when toasts are not stacked. Before, the key was `plugin-toast-${...}` and there were no ordering settings.\n\n- A plugin toast that is still waiting to be shown gives way to that plugin's newer toasts, so the older one is dropped without ever appearing. A debug note records this.\n\n- New helpers manage a stack of toasts. They cap how many toasts the stack can hold and log any toast that leaves the stack before it was drawn.\n\n- Toast and status text now passes through a sanitizer, a step that cleans up text before it is shown.\n\n**Why**\n\nWhen a plugin sends several notifications in a row, you now see its latest one instead of a backlog of out-of-date ones. Plugin authors should expect toasts that were queued and then replaced to never appear.\n\n- Area: Plugins\n- Tier: You'll notice\n- Useful: 2\/5\n- Signal: 2\/5\n- Scope: individual\n- Heads-up: no"}