Embedded app stuck on Admin's "Handling response" screen — traced to App Bridge bootstrap, not app code

Hey folks — running into an issue where our embedded app (built on @shopify/shopify-app-react-router 1.2.1) never finishes loading in Shopify Admin. It just sits on Admin’s “Handling response” screen forever, no error shown.

I spent a good while isolating this and I’m fairly confident it’s not something in our app:

  • DevTools shows the hang happens inside a small nested iframe on /auth/session-token (the session-token bounce page). That page’s entire body is just <script data-api-key="..." src="https://cdn.shopify.com/shopifycloud/app-bridge.js"></script> — Shopify’s own CDN-hosted App Bridge script, nothing of ours.
  • The console logs a warning from that script: “using deprecated parameters for the initialization function; pass a single object instead.”
  • After that warning, zero requests ever reach our app’s server — so whatever’s stalling is happening client-side, inside App Bridge/Admin’s own bootstrap, before it even tries to load our iframe content.

Things I’ve ruled out with actual testing (not just guesses):

  • Our own server/auth code and CSP config (read the library source directly — no legacy OAuth strategy even exists in this version to misconfigure)

Things I’ve ruled out with actual testing (not just guesses):

  • Our own server/auth code and CSP config (read the library source directly — no legacy OAuth strategy even exists in this version to misconfigure)
  • Package version (diffed 1.2.1 against the latest 2.1.0 — identical relevant code)
  • Browser/extensions (fresh Chrome, Edge, Opera profiles, all extensions off)
  • Third-party cookie restrictions
  • Network path (reproduced on an unrelated mobile network)
  • Tunnel provider (reproduced identically on Cloudflare Quick Tunnel and a separate SSH-based tunnel)
  • Store/account-wide issue (a normally-installed app — Shopify Inbox — loads instantly on the same store/login)

Filed a GitHub issue with full repro details here: Embedded app stuck on Admin "Handling response" — hang inside App Bridge bootstrap, not app code · Issue #586 · Shopify/shopify-app-bridge · GitHub

Has anyone else hit this? Curious if it’s tied to a specific app config (distribution type, scopes) or if it’s a broader regression in App Bridge’s bootstrap right now.

Oh , I thought I was having issue on my end , spent 2 hrs on this just to see someone else is also having same problem. Man I exhausted my claude tokens on this :smiling_face_with_tear:

Ha, glad it’s not just me — misery loves company! Good news is you’re not alone at least. I’ve also filed a GitHub issue with full repro details and Shopify’s App Bridge team (Mitch Lillie) has engaged there, though no root cause yet: Embedded app stuck on Admin "Handling response" — hang inside App Bridge bootstrap, not app code · Issue #586 · Shopify/shopify-app-bridge · GitHub

If you have any details on your setup (framework/package versions, tunnel provider, distribution type) it might help them spot the pattern faster if it’s affecting multiple people. Did you find any workaround, even a partial one?

Hi @Mathews_Sunny ,

I went through Handling Response Error in Shopify remix app - #6 by Abhishek_Thakur this thread where they mentioned it might be caused by time mismatch. When I first checked time through tab it was correct but just to confirm I asked claude to check the system time then it flagged that my system time was 28s ahead which is past the 10s tolerance.

“Confirmed: your PC’s clock is 28 seconds slow, verified against Google, Shopify CDN, and Shopify Admin. That’s the root cause — App Bridge session tokens set nbf from Shopify’s clock, and your server rejects them as premature due to the offset exceeding the JWT clock tolerance.”

Then I just synced system time correctly and it worked.

Just came back to say thank you — that was exactly it. My dev PC’s clock was drifted too, synced it via Windows Settings > Date & Time > “Sync now”, restarted the dev server, and the app loaded past “Handling response” immediately after 5+ days of being stuck. Huge help, saved me from waiting indefinitely for something that was actually local all along. Marking your post as the solution — really appreciate you coming back to share it!