Available — part-time slots from Q4 2026 UK · Remote BST · GMT+1
All fixes
F/10 8 min read reviewed Sep 2026· Strapi 5

Enterprise features silently missing, or the admin says Community Edition

TL;DR

Enterprise is paid for, deployed, and the admin says Community Edition, or the features you bought are simply not there. The instance almost always cannot reach the licence server: corporate egress filtering, a forward proxy Strapi is not using, or a licence variable that never reached the container. Before you re-check the key in the dashboard, run one connectivity test from inside the running container, not from your laptop: can it reach license.strapi.io on 443. That single check separates the top cause from everything else.

00· Before anything

First: test connectivity from inside the container

The key looks fine in the dashboard, so nobody checks the one thing that usually explains this: whether the running instance can actually reach the licence server. Test it from inside the running container, not from a laptop that sits on a different network.

If the host is unreachable, you are on the top cause and nothing about the key itself is wrong. If it is reachable, confirm the licence variable is actually present in the process, not just in the manifest.

bash
# from inside the running container, not your laptop
curl -sv https://license.strapi.io:443 2>&1 | head -n 20

# is the licence variable actually in the process?
printenv | grep -i licen

That one check is the whole diagnosis for most of these cases, and it is the check nobody does, because the key looks correct in the dashboard. Run it before you touch anything else.

Likely causes · The order I check them

bars = diagnostic order from experience, not measured frequency

Cause 01 of 01

The instance can't reach license.strapi.io

Symptom

The admin shows Community Edition, or Enterprise features are absent, on an instance whose key is valid in the dashboard.

How to confirm

From inside the container, try to reach license.strapi.io on 443. Corporate egress filtering, or a forward proxy in the way, is the usual blocker.

Why it happens

Strapi validates the licence against license.strapi.io. If the instance cannot reach it, the licence check fails and the instance runs as Community.

The observable behaviour, a blocked host and an instance that shows as Community, is well supported. There is a folklore explanation that it falls back to an expiry date baked into the key; that mechanism appears in tickets but no source documents it, so state the behaviour, not the cause.

The fix

Allowlist the host by name, not by IP. The resolved IPs rotate, so an IP allowlist works once and fails later. If a forward proxy is in the path, point Strapi at it explicitly with proxy.fetch in config/server.

02

Allowlist license.strapi.io by hostname. IP allowlisting fails as the addresses rotate, and then fails again after you fix it the first time.

Likely causes · The order I check them

bars = diagnostic order from experience, not measured frequency

Cause 01 of 04

The licence variable isn't reaching the container

Symptom

Connectivity is fine, and the instance still shows as Community.

How to confirm

Check the licence variable inside the running process, not in the Helm values, K8s secret or Cloud dashboard. printenv inside the container is the source of truth.

Why it happens

The variable is set in the manifest but not surfaced to the process: a Helm value that is not wired through, a secret in the wrong namespace, a Cloud variable set on the wrong environment.

The fix

Trace the variable from where it is defined to the running process and fix the break. Confirm with printenv inside the container, not by reading the manifest.

07

Where this is written down

The host allowlist and the connectivity requirement are documented in the Strapi support knowledge base, not on docs.strapi.io. That is citable and public, and it is worth saying plainly in a diagnosis: the thing that explains most of these cases is written down in the place people do not look. The proxy.fetch attribution is on the server configuration page. The expiry-fallback mechanism is not documented anywhere, so treat the blocked-host behaviour as observed and leave the mechanism out.

Common questions

Diagnosed everything and still stuck?

S/01 — Performance & Architecture Rescue.

A fixed-scope week that finds the cause and fixes what's causing it.