I have reproduced the issue on the latest CLI version.
Yes, I am on the latest version
I have searched existing posts and this report is not a duplicate.
Yes, this isn’t a duplicate
In which of these areas are you experiencing a problem?
Theme
Expected behavior
I should see the development store, just like in the 3.x version of the shopify cli.
Actual behavior
I get a JSON response looking like this:
{
“statusCode”: 400,
“statusMessage”: “Bad Request”,
“stack”:
}
Reproduction steps
create a local Caddy proxy like so:
mystore.test {
tls internal
reverse_proxy 127.0.0.1:9292
}
add mystore.test 127.0.0.1 to your hosts file
run shopify theme dev --host=127.0.0.1 --port=9292
run Caddy
open https://mystore.test
Verbose output
none
Operating system
Mac OS Tahoe
CLI version
4.4.0
Shell
iTerm2
Nodejs version
22.13.1
What language and version are you using in your application?
n/a
Alan_G
July 10, 2026, 7:51pm
2
Hey @Rene_Roth -
Since Caddy is a third-party proxy, I can’t provide detailed support for the configuration configuration, but looking at their documentation here, it suggests overriding the upstream Host header:
Proxies requests to one or more backends with configurable transport, load balancing, health checking, request manipulation, and buffering options. | Caddy is a powerful, enterprise-ready, open source web server with automatic HTTPS written in Go
One possible configuration would look like:
reverse_proxy 127.0.0.1:9292 {
header_up Host {upstream_hostport}
}
I haven’t validated this setup end to end, so I’d treat it as a possible workaround rather than a guaranteed solution. Let me know whether it changes the response on your end. Hope this helps a bit.
Thank you, that worked perfectly! It seems there is some rebinding protection active in the newer shopify cli versions
Alan_G
July 13, 2026, 4:59pm
4
Glad this helped @Rene_Roth - let me know if I can assist with anything else on the Shopfiy end of things!