ZE20020: Unable to connect to cloud provider
Failed to get application hash list.
The fastest way to resolve this error is to join our Discord and leave a message - our team is ready to help!
- Error Code:
ZE20020 - Location: Terminal
- Related plugins: all
What does this error mean?
This error means that the application is not able to correctly connect to your Cloud provider.
Debugging
1. Cloudflare Integration
a. KV Namespaces
Check the configured KV namespaces on your Cloudflare account. Their defaults are:
ze_snapshotsze_filesze_envs
b. Workers
Check that the configured public/static Worker exists. Its default name is ze-worker-for-static-upload.
c. Base Production Domain and Generated Routes
For the base upload/control endpoint, inspect the configured public/static Worker's Domains in Workers & Pages (alternate Settings → Domains & Routes). The exact ze.<zone> hostname must be an owned Worker Custom Domain targeting that Worker, with enabled: true and previews_enabled: false. Setup also creates the base ze.<zone>/* Worker Route.
Check that the base Route and selected delimiter's generated-host Route target the same configured Worker:
ze.<zone>/*for the base upload/control endpoint*-ze.<zone>/*for generated hosts with the-delimiter, or*.ze.<zone>/*with the.delimiter
Their /* patterns cover the root path, asset paths, and query strings. Setup does not create additional pathless generated-host Routes. Retry, redeploy, or update the Worker to repair the integration's configured Domain and Routes.
d. Generated-host DNS and TLS
Check that generated hostnames resolve and have suitable proxied DNS coverage, that the generated-host Route targets the configured public/static Worker, and that TLS covers the chosen delimiter's hostnames. The dot delimiter needs wildcard TLS coverage for *.ze.<zone>, which a usual *.<zone> certificate does not supply.
Worker Routes do not create DNS, and the exact base Custom Domain does not supply wildcard coverage. See Cloudflare's Routes requirements; no particular CNAME target is prescribed by Zephyr's setup flow.
e. Environment Custom Domains
For an exact environment alias, check the configured public/static Worker's Domains in Workers & Pages (alternate Settings → Domains & Routes). The exact hostname, with no /*, must have an enabled Custom Domain targeting that Worker, with native Worker-version previews disabled.
Cloudflare provisions the alias's DNS and TLS; no manual CNAME to Zephyr's managed domain is needed. An existing exact CNAME can block attachment: explicitly resolve or migrate the conflicting record and retry. Zephyr does not automatically delete customer DNS records.
The hostname must also have a published environment-to-snapshot mapping. An environment without a deployed version cannot serve an application yet. Allow DNS, TLS, and deployment changes to propagate, and check that subsequent deployments include the alias.
See the Cloudflare integration guide for permissions, setup, and the Route-versus-Custom-Domain routing contract.
2. Fastly Integration
Coming soon.