Panellicense

Check your hosting panel license status from the command line

Every panel and add-on has a one-line SSH command that tells you whether its license is valid, active, and locked to the right IP. Here's the exact command for each.

8 min readUpdated 2026-07-15license · ssh · cli · verification
schema: HowToschema: FAQPageschema: BreadcrumbListschema: TechArticle

When a licensed service stops working — the installer menu 404s, WHM shows a red licence banner, LSCache goes cold — the first question is always the same: is the license actually valid on this server, or is something else broken? You answer it from SSH in one line per product, without logging into any web panel or reseller portal.

This is a reference for the exact command that reports license state for each product we sell — cPanel/WHM, Plesk, LiteSpeed, CloudLinux OS, Imunify360, KernelCare, JetBackup, and Softaculous. Each command forces a fresh check against the vendor's license server, so the answer reflects reality now, not a cached result from last night's cron.

The commands at a glance

ProductCommandReports
cPanel & WHM/usr/local/cpanel/cpkeycltRe-fetches and validates the key
Pleskplesk bin license --infoKey number, type, expiry, limits
LiteSpeed/usr/local/lsws/bin/lshttpd -VLive license verification result
CloudLinux OScldetect --check-licenseValid / no valid license found
Imunify360imunify360-agent check-licenseLicense validity and edition
KernelCarekcarectl --license-infoKey, expiry, patch-set access
JetBackup 5/usr/bin/jetbackup5 --licenseForces a license refresh
Softaculous/usr/local/cpanel/scripts/softaculous --checkActive key, locked IP, expiry

Every one of these is safe to run on a production box — none of them restart services or change configuration. The rest of this article covers what good output looks like and how to read a failure.

cPanel and WHM

cPanel ties the license to the server's main IP. To force a re-check:

/usr/local/cpanel/cpkeyclt

On a healthy server it ends with Done. Update succeeded.. A failure prints the reason — most often an IP mismatch after a migration, which reads as the license not being valid for this IP. For a browser check that needs no SSH access, open https://verify.cpanel.net and enter the server's main IP.

If cpkeyclt reports the license is invalid, the fix is almost never on the server — it's the license record pointing at the wrong IP. See cPanel license invalid: causes and fixes for the decision tree, and cPanel license tiers explained if you need to confirm the account count your key allows. Activate or move a key at cPanel licensing.

Plesk

Plesk keeps richer license metadata locally, so you can read the full key without hitting the network:

plesk bin license --info

This prints the key number, product type, expiry date, and the limits it grants (domains, whether it's a Web Admin, Web Pro, or Web Host key). To actively re-validate against the Plesk license server instead of reading the cached record:

plesk bin license -c

An expired or IP-mismatched key surfaces here before it ever shows in the panel UI. If the check fails, work through fix Plesk license errors, and if you're unsure which tier you're on, Plesk license tiers explained maps the editions to what they unlock. Buy or upgrade at Plesk licensing.

LiteSpeed

LiteSpeed's -V flag does double duty: it prints the version and runs a live license verification against the LiteSpeed license server.

/usr/local/lsws/bin/lshttpd -V

A valid license prints [OK] License key #1 verification passed!. The serial itself lives in /usr/local/lsws/conf/serial.no; if the file is empty or the serial is wrong, -V fails loudly. LiteSpeed licenses are tiered by worker count and RAM, so a "verification passed" result on an undersized key can still throttle you — LiteSpeed license tiers covers the worker maths. See fix LiteSpeed license errors for failed verifications, and LiteSpeed licensing to change tiers.

CloudLinux OS

cldetect --check-license

Returns a valid result with the date of the last successful check, or No valid license found. CloudLinux supports both IP-based and key-based (activation key) licensing, and the re-registration command differs by type:

# IP-based license
clnreg_ks --force

# key-based license
rhnreg_ks --activationkey=<your-activation-key>

A "no valid license" result after a server move almost always means the IP-based license hasn't been re-pointed. CloudLinux license not registered walks the registration path; CloudLinux license tiers explained covers Solo vs the per-server editions. Activate at CloudLinux licensing.

Imunify360

The agent has a dedicated license subcommand:

imunify360-agent check-license

Add --json for machine-readable output, useful when you're scripting a fleet health check. For the broader agent state — is it running, connected, and licensed — use:

imunify360-agent status

More at fix Imunify360 license errors and Imunify360 license tiers explained. Licensing lives at Imunify360 licensing.

KernelCare

/usr/bin/kcarectl --license-info

This prints the registered key, its expiry, and which patch sets it grants access to. kcarectl --info is the related command for the patch state — which kernel patch level is applied — but it's --license-info you want when the question is specifically about the license. A lapsed KernelCare key silently stops delivering new patches while the last-applied set stays live, so a server can look patched and still be exposed to newer CVEs. Details in upgrade KernelCare agent and ePortal; buy at KernelCare licensing.

JetBackup 5

JetBackup validates automatically every 48 hours, so a stale license can persist for up to two days before backups start failing. Force an immediate refresh:

/usr/bin/jetbackup5 --license

If the server's public IP was misdetected (common behind NAT or with dual-stack), pin the family:

/usr/bin/jetbackup5 --license-force-ip 4

The current license state is also visible in the panel under JetBackup → Settings → License. JetBackup 5 license tiers covers the account-count editions; activate at JetBackup licensing.

Softaculous

/usr/local/cpanel/scripts/softaculous --check

Prints the active key, the locked IP or hostname, and the expiry. Because Softaculous is IP-locked, this is the fastest way to confirm the lock matches the server's real egress address after any network change — see move a Softaculous license to a new IP if it doesn't. For the "license file not found" failure specifically, go to fix Softaculous license file not found. Tiers at Softaculous license tiers explained; buy at Softaculous licensing.

What a failed check usually means

Across every product, a license that was working and suddenly isn't points at one of a small set of causes:

  • IP changed. Server migration, a new WAN address, or a floating IP failover. The license record still points at the old IP. This is the single most common cause — fix it in your reseller portal or client area, then re-run the check command above. For keys bought through panellicense, the IP is editable under Services → My Licenses → Manage.
  • Behind NAT. curl -s ifconfig.me from the server returns a different address than the license is locked to. Lock to the egress IP, not the internal one.
  • Expired. The check reports an expiry in the past. Renew before re-running.
  • Agent or service stopped. The license is fine but the product isn't running — most relevant for Imunify360 and JetBackup. Check the service, not the license.
How do I check if my cPanel license is valid from the command line?+
Run /usr/local/cpanel/cpkeyclt over SSH. It re-fetches and validates the key against cPanel's license server and ends with 'Done. Update succeeded.' on success. For a no-SSH check, enter your server's main IP at verify.cpanel.net.
What command shows Plesk license details on Linux?+
plesk bin license --info prints the key number, type, expiry, and limits from the local record. Use plesk bin license -c to actively re-validate against the Plesk license server.
How do I verify a LiteSpeed license over SSH?+
Run /usr/local/lsws/bin/lshttpd -V. It performs a live verification and prints '[OK] License key #1 verification passed!' when the license is valid. The serial number lives in /usr/local/lsws/conf/serial.no.
My license check passes but the service still isn't working. Why?+
A valid license only means the key is accepted — the product's agent or service can still be stopped or wedged. This is most common with Imunify360 and JetBackup. Check the service status (for example imunify360-agent status) separately from the license.
Why did my license suddenly become invalid after a server migration?+
Most panel and add-on licenses are locked to the server's public IP. After a migration the license record still points at the old address. Update the IP in your reseller portal or client area, then re-run the product's check command to re-validate.

Next steps

Switch in an afternoon

Switch from your current reseller — free.

We migrate active cPanel, Plesk, LiteSpeed and CloudLinux licenses from any reseller. We prorate the first month so you never pay twice, and your customers see zero downtime during the swap.