Fix: "Class not found: ImpulseCore" when activating a module
This fatal means you tried to activate an Impulse module before ImpulseCore itself was installed and active. Install Core first, then come back and activate the module.
Last updated 20 days ago
Fix: "Class not found: ImpulseCore" when activating a module
What you're seeing
You activated an Impulse module (ImpulseMinio, ImpulseDB Postgres, etc.) in System Settings β Addon Modules, and WHMCS threw a fatal:
Fatal error: Uncaught Error: Class "ImpulseCore" not found in /path/to/whmcs/modules/addons/<module>/<module>.phpThe module activation didn't complete. The addon is half-toggled, the database tables haven't been created, and the admin tab won't load.
Why it happens
Every Impulse module is built against the ImpulseCore facade β a static class that lives in the impulsecore addon. When the module's activate hook runs, the first thing it does is call ImpulseCore::registerModule() to introduce itself to Core. If Core isn't installed, the class doesn't exist, the call fails, and WHMCS surfaces the autoload error.
This is intentional. Core is a hard dependency: modules don't ship with a "Core not present" fallback path because there's nothing useful they could do without it (no project registry, no cron, no audit log, no Security pipeline).
Fix
Confirm the module is in a deactivated state. Go to System Settings β Addon Modules. If the module shows as "Active," click Deactivate first. It's fine β no data was written.
Install ImpulseCore. Download the latest ImpulseCore release archive and extract it into the WHMCS root:
cd /path/to/whmcs unzip /tmp/impulsecore-X.Y.Z.zipYou'll end up with
modules/addons/impulsecore/.Activate ImpulseCore. Back in System Settings β Addon Modules, find ImpulseCore in the list and click Activate. Set Access Control to whichever admin role(s) should see the addon. Save.
Core's activate hook creates all of its
mod_impulsecore_*tables, seeds defaults, and self-registers. This is idempotent β re-activating later is safe.Add the Core cron line. Core's cron runner dispatches to every module's tasks. One line:
*/5 * * * * /usr/bin/php /path/to/whmcs/modules/addons/impulsecore/cron.phpReplace
/usr/bin/phpwith your PHP CLI binary. On Plesk:/opt/plesk/php/8.3/bin/php. On cPanel:/opt/cpanel/ea-php83/root/usr/bin/php. On a vanilla LAMP install:/usr/bin/phpor whateverwhich phpreturns. Replace/path/to/whmcswith your install dir.Now activate the module. Return to System Settings β Addon Modules and click Activate on the module you originally tried. This time the activate hook completes β the module registers with Core, subscribes to its hooks, and registers its cron tasks.
How to confirm it worked
Open Addons β ImpulseCore in WHMCS admin. The Overview tab's Modules registered table should now show a row for the module you just activated, with its slug, version, and registration timestamp.
If the row doesn't appear within a minute, the module's activate hook ran but registerModule() didn't complete successfully. The Audit tab will have a severity=error entry from impulsecore describing the failure β most often a malformed impulse_module.json manifest in the module.
Related issue: "ImpulseCore X.Y.Z required, found A.B.C"
Different error, same family. The module's manifest pins a minimum Core version, and the Core you have installed is too old. Upgrade Core (drop in the newer archive β the activate hook is idempotent and migrates schema in place), then re-activate the module.
Why there's no "Core-less" fallback
A common question: why doesn't the module just gracefully degrade if Core is missing? Because everything a module does β billing-aware provisioning, cross-module hooks, the cron runner, the Security pipeline, the audit log β runs through Core. A module without Core is a half-functional addon that would create more support burden than it would solve. Forcing the dependency at activation is the cleanest failure mode.
Still stuck?
Confirm ionCube Loader is installed and matches your PHP version (
php -m | grep ionCube). If Core's files are encoded and ionCube is missing, you'll get a blank page or a "Site error" instead of the autoload fatal β same underlying cause, different surface.Check that the WHMCS web user can read
modules/addons/impulsecore/. A permissions issue can present as the same "Class not found" error.Open a thread on the community feedback board with the exact error text and your PHP / WHMCS versions.