Hi, I’m working on my dev app and ran into an issue. I updated some webhooks in the app TOML file and ran the Shopify deploy CLI command. It deploys successfully, and in the dev dashboard when I check the versions, I can confirm that the changes applied. However, the webhooks are still being sent with the previous deployment.
I’ve tried various things:
Every time after deploying, I see the changes are correctly applied in the dev dashboard, but every time I keep receiving the previous version. Even after deleting the webhook, I still receive it.
I already had this issue the last time I tried to update webhooks a few weeks ago, and if I remember correctly, I had to wait several hours to see the changes being applied.
Any insights are welcome to fix this issue!
Thanks
1 Like
I found that when it’s a dev application, we have to run shopify app dev after deploying the version and it will work.
But it looks like a bug to me, because as mentioned above the version is marked as "published and active in the dev dashboard even before running shopify app dev.
Hey @Soufiane_Ghzal, this is currently expected behavior for development stores.
For development stores, shopify app deploy creates and releases a new app version, but the webhook configuration on your specific dev store is managed through the dev preview created by shopify app dev. When you run app dev, it creates an isolated preview on your chosen dev store and syncs your local shopify.app.toml changes there. That preview persists even after you stop the dev command.
For context, this isolation is intentional. It lets development teams work safely on the same app without affecting each other’s dev stores. The “published and active” status you’re seeing refers to the app version being released for production stores, but dev stores specifically require app dev to sync configuration changes. You can read more about this in the test apps locally documentation.
You can run the clean dev preview to restore your dev store to the published version.
To clean a dev preview, you can either:
shopify app dev clean
Hi Kyle,
Thanks for the detailed answer.
I can appreciate that, however, the fact that the dashboard says it’s working but it’s not is very confusing. Especially because in my situation the webhooks are sent to gcloud pub/sub and I would expect it to be sent regardless or whether or not my dev app is running. Also it’s not how production work, so it’s even more of a source of confusion. Even a coworker with years of experience in shopify ecosystem got confused.
I’d suggest that at least you add some kind of message somewhere in the dashboard saying that the version will not send webhook unless dev cli is running. That would probably save lot of time to some people in the same situation as I was.
To me the dev dashboard acts as a source of truth, so ultimately if it says it works I trust it.
Thanks for the reply.
I want to look in to this some more. What should be happening is that your dev store is going to use the latest version that was pushed to that store when you last ran shopify app dev. If you used a live url for receiving webhooks on this store when you ran that, I would expect them to still trigger even when you don’t have app dev running locally. Are you seeing different behaviour?
What I would suggest is if you have made changes to your webhooks and deployed that during a development session, to then run the app dev clean command so that it will sync your dev store with the deployed version.
Hi @KyleG-Shopify
Sorry for the delayed response, too much work to get done!
There is something I might have misunderstood in the way it works. What you’re saying here:
your dev store is going to use the latest version that was pushed to that store when you last ran shopify app dev
Does that the dev store is in some way controlled by shopify app dev command? My understanding is that stores are working totally independently of the app as they’re different things.
For webhooks I’m not using live urls (other than redact webhooks), even in dev I’m using pub/sub.
Also regarding the app dev clean command, I don’t remind I have used anytime recently
Hey @Soufiane_Ghzal, happy to clarify this. The dev store IS controlled by the shopify app dev command through a “dev preview”:
- When you run
shopify app dev, it creates a dev preview on your chosen dev store that syncs your local shopify.app.toml configuration
- When you stop
app dev, that dev preview persists on the store. The dev store continues using that configuration until you either run app dev again or clean the preview
shopify app deploy releases a new version for production stores, but your dev store keeps using its existing dev preview
So your dev store isn’t using the deployed version you see in the dashboard. It’s using whatever configuration was last synced during an app dev session.
Since you mentioned you haven’t run app dev clean recently, your dev store is likely still running on an older dev preview. Running shopify app dev clean will restore your dev store to match the deployed version. After that, any Pub/Sub webhooks in your deployed config should work as expected.
Here’s the relevant documentation: