A cPanel & WHM license is tied to your server's primary IP address, not to the hardware or the hostname. Migrate to a new VPS, swap dedicated servers, or get reassigned an IP by your provider, and the license stops validating until you point it at the new address. This happens constantly with reseller and dedicated IP hosting — you don't need a new license, you need to update the one you have.
This covers both directions: updating the IP on an existing license record at the reseller or cPanel Store level, and forcing WHM to revalidate against that new IP on the server itself. If you bought your license through panellicense.com, the same principle applies — the license record has to match the box that's actually running WHM.
Check what IP your license currently expects
Before touching anything, confirm the mismatch. On the server:
/usr/local/cpanel/cpanel -V
whmapi1 getipv4 nameserver
cat /var/cpanel/preferred_ip
Then compare against the IP on file for the license itself:
curl -s "https://verify.cpanel.net/app/verify?ip=YOUR_SERVER_IP"
If the verification response doesn't match the box's actual primary IP, that's your problem — not a corrupted license file, not an expired subscription. See checking hosting license status from the command line for the full set of verification commands across panels.
Step 1: Update the IP on the license record
Where you do this depends on where the license lives:
- Licensed directly through cPanel's store: log in to your cPanel Store account, open Manage Licenses, find the license by its current IP, click the Actions menu, and select Edit IP. Enter the new server's public IPv4 address and save.
- Licensed through a reseller (including panellicense.com): open a ticket or use the reseller's license management panel and request the IP change. Resellers proxy the same underlying cPanel license record, so the change still ultimately updates against cPanel's licensing servers — but only the reseller account has permission to edit it.
Have the new IP confirmed before you submit the change. A typo here means the server checks in against the wrong address and fails again.
Step 2: Set the new primary IP on the server itself
If you haven't already reassigned the IP as part of the migration, do that first in WHM:
- WHM → Change Primary IP Address / Basic WebHost Manager Setup, or directly:
/scripts/mainipcheck
- Confirm
/var/cpanel/mainipreflects the new address:
cat /var/cpanel/mainip
If it's stale, force a re-check:
/scripts/mainipcheck --force
Step 3: Force WHM to revalidate the license
Once both the license record and the server's primary IP agree, push a manual revalidation rather than waiting for the next scheduled check:
/usr/local/cpanel/cpkeyclt
Expect output ending in Update succeeded. If it instead reports a license check already in progress, stop cpsrvd first and retry:
/usr/local/cpanel/etc/init/stopcpsrvd
/usr/local/cpanel/cpkeyclt
/usr/local/cpanel/etc/init/startcpsrvd
Propagation from cPanel's licensing servers to your box is usually near-instant, but allow 5–10 minutes before troubleshooting further — DNS and network-level caching upstream of the verification endpoint can lag briefly. If it's still failing after that, re-run the check in Step 1 to confirm the license record actually saved the new IP; a surprising number of "stuck" license errors are just the store-side edit not having been submitted.
Common failure modes
License shows valid but WHM still throws an error banner. cPanel caches license state locally. Restart cpsrvd (/scripts/restartsrv_cpsrvd) after a successful cpkeyclt run to clear the in-memory state.
IP was changed on the server before the license record was updated. WHM will show an "IP mismatch" or "license not registered to this IP" error — this is expected and resolves itself once Step 1 catches up. Don't panic-reinstall cPanel; the software isn't broken.
Migrating between providers with different IP blocks. If your new provider hasn't finished announcing the IP block yet (common with fresh dedicated server deployments), verify.cpanel.net may not be reachable from your box, and the license check will time out rather than fail cleanly. Confirm outbound connectivity to verify.cpanel.net:443 first.
Reseller account no longer matches the license. If you bought the license through one reseller and are now asking a different reseller to edit it, they usually can't — license edit permissions are scoped to whoever's account currently holds the license. You'd need a transfer between resellers first, which is a separate, slower process than a same-account IP edit.
This same IP-bound licensing model applies to most panel and add-on products in this space — see fixing Plesk license errors, fixing Imunify360 license errors, and fixing LiteSpeed license errors if you're moving a full stack rather than just cPanel.