Remix App: Form Action Not Triggering While Loader Works Correctly

Topic summary

A developer is experiencing intermittent issues with a Remix-based Shopify app where form actions fail to trigger randomly, despite the loader functioning correctly. The form displays the expected “submitting” state, but the action function doesn’t execute—no logs appear and no errors are shown.

Verified aspects:

  • Form uses proper method="post" and correct fetcher
  • Route resolution is correct (no dynamic paths)
  • Issue occurs in development mode
  • No frontend errors visible

Potential causes being considered:

  • App Proxy configuration
  • App Bridge or session/authentication problems
  • Embedded app-specific issues in Shopify Admin

Suggested solution: Another developer reported a similar issue that was resolved by ensuring the apiKey was properly passed to the AppProvider (it was previously undefined). This may be worth checking as a potential fix.

Summarized with AI on October 27. AI used: claude-sonnet-4-5-20250929.

Hi everyone,

I’m developing a Shopify app using Remix (Node + App Bridge). I have a form that correctly shows fetcher.state === “submitting” when submitted, and the loader for the page works perfectly and consistently.

However, the action tied to the form is not being triggered at all — and this happens randomly. Sometimes it works as expected, sometimes it doesn’t trigger at all, even though no changes have been made to the code.

I’ve verified:

  • The form has a proper method=“post” and uses the correct fetcher.

  • Logs inside the action function don’t get triggered when it fails.

  • There are no visible frontend errors.

  • The route is being resolved correctly (I’m not using dynamic action paths).

  • This happens even in development mode.

Could this be related to:

  • App Proxy configuration?

  • App Bridge or session/authentication issues?

  • Something specific to embedded apps in Shopify Admin?

Any guidance would be greatly appreciated!

We had a similar case recently. A button that should submit was just doing nothing – no error, no request, nothing.

In our case we did not pass the apiKey to the AppProvider – it was undefined. After providing the actual apiKey, it started to work.

1 Like