App Bridge Modal: Opening a second Modal inside a fullscreen variant=“max” Modal causes the fullscreen Modal to close (v4.x / React)

Summary

When using @shopify/app-bridge-react (v4.x with App Bridge CDN), opening a second <Modal> from inside a fullscreen <Modal variant="max"> causes the fullscreen modal to immediately close. Only the smaller modal remains visible. This breaks any app that needs confirmation dialogs, selection modals, or condition editors inside a fullscreen modal workflow.

Additionally, the <SaveBar> discard button’s onClick handler does not fire when the SaveBar is rendered inside a fullscreen <Modal variant="max">.

Environment

  • App Bridge: CDN , React wrappers from @shopify/app-bridge-react

  • @shopify/app-bridge-react version: ^4.1.2

  • @shopify/polaris version: ^12.27.0

  • React version: ^18.2.0

  • Date issue started: ~Late February / Early March 2026 (previously worked)

Steps to Reproduce

  1. Create a fullscreen modal using <Modal id="main" variant="max">

  2. Inside that modal, render a second <Modal id="inner"> that opens on a button click

  3. Click the button to open the inner modal

Minimal reproduction:

import { Modal, TitleBar } from "@shopify/app-bridge-react";

import { Button } from "@shopify/polaris";

import { useState } from "react";

function App() {
  const [outerOpen, setOuterOpen] = useState(false);

  const [innerOpen, setInnerOpen] = useState(false);

  const shopify = useAppBridge();

  return (
    <>
      <Button onClick={() => shopify.modal.show("outer-modal")}>
        Open Fullscreen
      </Button>

      <Modal id="outer-modal" variant="max">
        <TitleBar title="Fullscreen Modal" />

        <Button onClick={() => shopify.modal.show("inner-modal")}>
          Open Inner Modal
        </Button>
      </Modal>

      <Modal id="inner-modal">
        <TitleBar title="Inner Confirmation" />

        <p>This is a nested modal</p>
      </Modal>
    </>
  );
}

Expected Behavior

  • The inner modal opens on top of the fullscreen modal

  • The fullscreen modal remains open in the background

  • OR: App Bridge provides an official API for stacking/nested modals

Actual Behavior

  • The fullscreen modal closes immediately when the inner modal opens

  • Only the inner (small) modal is visible

  • After closing the inner modal, the user is back on the main page — all unsaved work in the fullscreen modal is lost

My merchants are experiencing the same issue, this is a core feature in our app and it’s breaking our entire UI/UX flow.

We’re on it! We’ll aim to get a fix out soon

Hi there, when can we expect to hear an update on this issue? Is it possible to maybe roll back whichever change led to this issue in the meantime? Thank you.

Fix is coming in shortly! I’ll post here one it’s released, thanks for your patience

Hey folks! The fix should be deployed. Give it a couple of minutes but could you re-test and verify?

Hi @Fio Thanks for the reactivity!

I’m still experiencing the issue, I hard-reload with Empty cache and still happens.

Thanks, verifying that this was deployed. brb

Hi @Fio yep, I can confirm this is still an issue on my end.

It’s been more than 3 days since this issue started. Are there any workarounds available, or can we expect an ETA for a fix?

hey @Sirajudheen_MK ,
I see that you’re using @shopify/polaris, so I’d recommend using a Polaris modal (@shopify/polaris) inside a max modal (app-bridge-react) instead of using two modals from app-bridge-react that way. This is a known issue that has existed since max modal was first released, so it’s not a new issue. I’m still using the same workaround for it.

The issue has not been resolved yet, and I am still experiencing the same problem

Any update on this??? @Fio

Terribly sorry folks! This was an elusive one :sweat_smile: We’ve confirmed a fix and have it in the queue.

For the past week, we’ve only been receiving apologies. Please roll back to the last working version first. After that, you can take the time needed to investigate and fix the issue. This problem is currently affecting our production environment. Please understand the impact this is having on us and proceed with the rollback

Fix is out! Can you folks verify?

The issue has now been resolved.

The issue has been fixed now. Thanks @Fio

The issue has been resolved. Confirming that it is working properly now.