Why do TWO cart drawers pop open when I click Add to cart?
If clicking Add to cart makes your theme's slide-out cart and an app's cart drawer both appear, stacked on top of each other, two systems are fighting for the same job. Here's how to pick one and turn the other off.
What's going on
A merchant installs a cart-drawer, upsell, or cart-customization app expecting it to replace the default add-to-cart experience. Instead, clicking Add to cart now opens two overlapping drawers: the theme's native slide-out cart, which many modern themes ship with as a built-in setting rather than a separate script, and the app's own drawer rendering on top of or behind it. Sometimes only one is visible while the other is present but invisible, silently intercepting clicks or leaving a dimmed overlay behind after closing.
This isn't a Shopify platform bug. It's two separate scripts both listening for the same add-to-cart event and both trying to render their own drawer markup into the page. Many themes already include a built-in AJAX cart drawer controlled by a theme setting. When a cart-drawer app is added on top of that, unless the app explicitly detects and disables the theme's drawer, both fire.
The fix is almost always to explicitly choose one drawer and disable the other, rather than hoping the two will coexist.
Why it happens
Shopify's cart system dispatches an event whenever an item is added without a full page reload, and any script on the page can listen for that event and open its own drawer in response. A theme with a native drawer registers its own listener automatically; a cart app registers a second, independent listener. There's no built-in mechanism preventing two listeners from both responding to the same event, so if both are active, both drawers open.
This is an architectural collision, not a code error in either product individually. It shows up most often when a merchant installs a cart-upsell or cart-drawer app without first turning off the theme's own drawer setting, or when a theme update resets the cart display option back to its default.
5 ways to fix it
Turn off the theme's built-in drawer first (free, no app changes needed)
In the Shopify admin, go to Online Store, Themes, Customize, then look in Theme Settings for a Cart section (naming varies by theme). Most modern themes offer a cart type choice such as Drawer, Notification popup, or full Page. If you want the app's drawer to be the only one, switch this away from Drawer, save, and test an add-to-cart. This resolves the conflict in most cases and costs nothing.
Check the app's settings for a theme-drawer override
Cart-drawer and cart-upsell apps built for this scenario often include a setting to automatically hide the theme's native drawer, or an option to take over the cart icon's click behavior. Look there before assuming you need custom code. If no such setting exists, decide which drawer you actually want and disable the other side instead, keeping the app enabled for its other features (upsells, bundles, subscriptions) if those still matter to you.
Look for a competing trigger on the cart icon
If the theme setting alone doesn't stop the native drawer, open your browser's developer tools, inspect the cart icon or add-to-cart button, and look for the classes or attributes the theme uses to bind its own click handler. A developer can remove or rename that hook in the theme code so only the app's script responds. Test this on a duplicate theme first, since it means editing theme code directly.
Rule out a second app doing the same job
If you've installed more than one app that touches the cart, such as a dedicated cart-drawer app plus a separate free-shipping bar or upsell app that also renders its own mini-cart, disable each cart-related app one at a time from your Apps list to find the actual culprit. Two apps can collide with each other just as easily as an app can collide with the theme.
Bring in a theme or app developer for a permanent fix
If the setting changes above don't fully resolve it, this is usually a small, quick job for a theme developer, often just removing one script's event listener so only one drawer responds to add-to-cart. Describe it as disabling the native drawer trigger while keeping the app's drawer (or the reverse), and most theme customization freelancers or shops can turn it around quickly without requiring a new app.
Bottom line
There's no single Shopify setting that prevents duplicate cart drawers outright. This is a collision between two independent systems, whether theme and app or app and app, that both listen for the same add-to-cart event, and the fix is always to make exactly one of them responsible for opening a drawer. Start with the free theme setting change, and only bring in developer help if the duplicate drawer keeps reappearing afterward. It's a configuration or small code fix specific to your particular theme and app combination, not something a new app install will resolve on its own.
Browse the rest of the problem library, run a free storefront scan to catch issues like this automatically, or email us and we'll work out a custom solution for it.