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.

Troubleshooting8 min readUpdated 2026-07-15
licensesshcliverificationtroubleshoot
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 CloudLinux OS vs CloudLinux OS for cPanel. 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

Related articles

troubleshoot
Fix CloudLinux "No valid license found" registration errors
Work through the CloudLinux "No valid license found" error in order — IP-based vs key-based registration, stale CLN server entries after a migration, and blocked outbound to cln.cloudlinux.com.
5 min read
troubleshoot
Fix Imunify360 license errors and unregistered agent
Work through Imunify360 "No valid license" and "license is invalid for this server" errors in order — IP vs key registration, stale bindings after a migration, and user-count overruns.
5 min read
troubleshoot
Fix InterWorx license errors: invalid key and sync failures
Diagnose the Invalid InterWorx-CP License error — DNS and port 2443 checks, license.pex --sync, IP rebinding, and key swaps — before the 24-hour grace period ends.
4 min read
troubleshoot
Fix JetBackup license errors: invalid, not found, and IP mismatch
Diagnose JetBackup's license validation errors — no license found for this IP, license invalid for current server, and reissue failures — and fix each from WHM or the CLI.
5 min read
troubleshoot
Fix KernelCare license errors: registration, IP locks, and 403s
Diagnose KernelCare's licensing failures — no valid key-based license found, key limit reached, expired trial, and HTTP 401/403 during update — and fix each from the CLI.
6 min read
troubleshoot
Fix LiteSpeed license errors after migration or IP change
Resolve the common LiteSpeed licensing failures — signature mismatch after migration, IP-locked reseller keys, and expired-key downtime recovery.
4 min read
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.