HTTP 400 on caddy upgrade

1. The problem I’m having:

I’m trying to download a custom caddy from the server and I’m getting an error 400
custom caddy executable with:

2. Error messages and/or full log output:

root@caddy:~# caddy upgrade
2025/06/29 10:17:13.829 INFO   this executable will be replaced {"path": "/usr/bin/caddy.custom"}
2025/06/29 10:17:13.829 INFO   requesting build {"os": "linux", "arch": "amd64", "packages": ["github.com/hslatman/caddy-crowdsec-bouncer@v0.8.1", "github.com/caddy-dns/cloudflare@v0.0.0-20250214163716-188b4850c0f2", "github.com/mholt/caddy-l4@v0.0.0-20250124234235-87e3e5e2c7f9"]}
Error: download failed: download failed: HTTP 400: unable to fulfill download request (id=2c93dcf3-715f-49a3-b5eb-fd2bf228b0bb)

3. Caddy version:

v2.9.1 h1:OEYiZ7DbCzAWVb6TNEkjRcSCRGHVoZsJinoDR/n9oaY=

4. How I installed and ran Caddy:

a. System environment:

Debian 12, LXC, x64

5. Links to relevant resources:

It’s probably the same issue as Caddy Upgrade getting http 400
Do then need to build the executable myself, or can I expect this to be fixed?

We’re going through growth pain with the build server. We’re considering a few plans, but nothing solid yet. Until we decide on the next action for the build server, build your own binaries using xcaddy or Docker.

Note that there’s an open proposal to remove the upgrade command.