For my development environment I’m using whatever came with the default PHP template, which is cloudflare.
In this case I’ve started the local env by running yarn dev -c <shopify.app.my config.toml>. The URL I received is https://queensland-scotia-today-april.trycloudflare.com/
I then open my webhook subscriptions through the gql tool that I run locally (webhookSubscriptions query), and see the previous URI: https://indication-lawyer-packing-roberts.trycloudflare.com/api/webhooks
If I then call the mutation webhookSubscriptionUpdate with the uri /api/webhooks it will give me a user error: Address is invalid
Right now I made a script to read .shopify/dev-bundle/manifest.json and look for the app_home to grab the URL and put that in front of it, but this is something that has to be manually run in the dev env. It wastes a lot of our time when we forget to do this and have to figure out it was because we forgot to run this script.
Previously I would read it from the shopify.app.my config.toml, but these no longer update either. Neither application_urlnor redirect_urls are updated, but this shouldn’t be necessary either.
My dev toml:
client_id = "<...?"
name = "<....>"
handle = "<...>"
application_url = "https://his-precise-sharon-best.trycloudflare.com"
embedded = true
[build]
automatically_update_urls_on_dev = true
dev_store_url = "<my local store>.myshopify.com"
[access_scopes]
# Learn more at https://shopify.dev/docs/apps/tools/cli/configuration#access_scopes
scopes = "customer_read_orders,customer_write_customers,read_assigned_fulfillment_orders,read_inventory,write_locations,read_locations,read_merchant_managed_fulfillment_orders,read_returns,write_assigned_fulfillment_orders,write_customers,write_inventory,write_merchant_managed_fulfillment_orders,write_orders,write_products,write_returns,write_order_edits"
[auth]
redirect_urls = [
"https://his-precise-sharon-best.trycloudflare.com/auth/callback",
"https://his-precise-sharon-best.trycloudflare.com/auth/shopify/callback",
"https://his-precise-sharon-best.trycloudflare.com/api/auth/callback"
]
[webhooks]
api_version = "2025-10"
[pos]
embedded = false