cldetect --check-license returns No valid license found and your LVE limits, PHP Selector, and CageFS quietly stop enforcing. The license itself is almost never gone — it's a registration mismatch. CloudLinux ships two license types that register completely differently, and using the wrong command for your type is the single most common cause of this error.
This is the order to work through it, with the commands to confirm each step before you change anything.
Step 1: confirm what the check actually reports
Run the canonical license check first. It talks to the CloudLinux Network (CLN) and prints the verdict plus the last successful check date:
cldetect --check-license
A healthy server prints OK. Anything else — No valid license found, last successful check was on <date> — means the registration handshake with CLN is failing. Note that date: if it's recent, you have a network or IP-change problem; if it's weeks old, the server was likely never registered cleanly after install.
Cross-check from outside the box at the CLN console license tool — enter the server's public IP at https://cln.cloudlinux.com/console/check-license. If CLN has no record for that IP, the problem is on the registration side, not the network.
Step 2: determine your license type
CloudLinux licenses are either IP-based or key-based, and they do not register with the same command. Resellers (us included) almost always issue IP-based licenses; licenses bought direct from CloudLinux are usually key-based with an activation key.
If you don't know which you have, the rule of thumb: you were handed an activation key string → key-based. You gave a vendor your server IP and nothing else → IP-based. See the CloudLinux license tier breakdown if you're unsure what SKU you actually bought.
Step 3a: re-register an IP-based license
IP-based licenses register against the server's current public IP with no key:
clnreg_ks --force
cldetect --check-license
If clnreg_ks isn't present, install the registration tooling first:
yum install rhn-setup --enablerepo=cloudlinux-base
The most common IP-based failure is a changed IP — a snapshot restore, floating-IP reassignment, or migration to new hardware. The license is bound to the old address. Update the licensed IP in your reseller portal (for licenses from us, the contact page routes IP changes through within a minute), then re-run clnreg_ks --force.
Step 3b: re-register a key-based license
Key-based licenses register with the activation key:
rhnreg_ks --activationkey=<your-activation-key> --force
cldetect --check-license
Step 4: clear a stale server entry after a migration
License not found for key/IP! on a known-good key usually means CLN still holds the old server registration. Each activation key has a seat limit, and a migrated or reinstalled box leaves a ghost entry consuming it.
Log in to CLN, open the Servers section, and remove the dead server. Then re-register the new box with Step 3a or 3b. The same fixes a registration that "succeeds" but never validates — the old systemid is colliding with the new one.
If a partial registration left a corrupt local ID, wipe it and re-register clean:
rm -f /etc/sysconfig/rhn/systemid
clnreg_ks --force # or rhnreg_ks --activationkey=... --force
Step 5: rule out a blocked outbound path
Registration and the daily license check both need outbound HTTPS to CLN. If the firewall blocks it, every command above hangs or returns a connection error regardless of license state:
curl -sI https://cln.cloudlinux.com | head -1
A 200 or 301 means the path is open. A hang or refused connection means outbound 443 to cln.cloudlinux.com is blocked — open it in CSF, the cloud security group, or whatever sits in front of the box, then re-run cldetect --check-license.
If all five steps pass and it still won't validate, the license is genuinely expired or transferred away. We issue CloudLinux licenses that activate against clnreg_ks immediately on the server's current IP — no manual CLN steps past re-running the command.
What does 'No valid license found' mean in CloudLinux?+
What is the difference between clnreg_ks and rhnreg_ks?+
Why does CloudLinux say 'License not found for key/IP'?+
How do I move a CloudLinux license to a new server?+
How do I check if a CloudLinux license is registered for an IP?+
Next steps
- Install CloudLinux on cPanel — clean-build path if registration is too tangled to recover.
- CloudLinux license tiers explained — confirm which SKU and license type you actually bought.
- CloudLinux vs AlmaLinux for hosts — what you give up if you let the license lapse.