#7102·reflex

Adding rx.toast.provider duplicates every toast because the default overlay already mounts a provider

Author: masenfCreated Sep 11, 2026Updated Sep 11, 2026

rx.App's default overlay already mounts a sonner Toaster (connection_toaster()), so a page that also renders rx.toast.provider(...) (to set position / rich colors / duration) ends up with two Toaster roots and sonner renders every toast in both: 4 toasts → 8 DOM nodes, the on_load toast appears twice, bg_count=3 but six toast nodes (results/out_dev/toast.json, scripts/probe_toaster.py). Identical on sonner 2.0.7 / 0.9.10.post2. The docs warn "in most cases you will not need to include this component directly" but do not mention the duplication, and there is no supported way to reconfigure the default toaster short of replacing overlay_component.

Source: prerelease finding 034-08, recorded against Reflex 0.9.11a1 and compared with 0.9.10.post2. See the full campaign report and cluster notes and reproduction artifacts. Findings and verification status above are from that campaign; this filing does not claim a new browser rerun.