Skip to main content

Notices and error messages

Short answer: this page lists the exact notice and error texts shown by GrabWP in wp-admin, on the Status screen, and during signup or login. Match the text you see to find its cause and the troubleshooting guide that fixes it. Needs: Free

Base (GrabWP Tenancy) notices and errors​

Exact message in UIWhere it appearsCause in codeTroubleshooting guide
load.php is not included in wp-config.php.Admin notice on every wp-admin page (with link to View Status)GRABWP_TENANCY_LOADED is not defined because the # BEGIN GrabWP Tenancy block in wp-config.php is missing or not reached.Notice: load.php is not included in wp-config.php
Could not find the stop-editing marker in wp-config.php. Please add the line manually.Installer / setup checkGrabWP could not find the stop-editing marker in wp-config.php to insert the load.php block automatically.Notice: load.php is not included in wp-config.php
MU-plugin is not installed. Tenant features may not work.Admin notice on GrabWP plugin pages (with link to View Status)mu-grabwp-tenancy.php is missing from wp-content/mu-plugins.Notices about the MU-plugin or data directory
Auto-install of MU-plugin will not work. Manual installation required.Tenancy > Status > Plugin General, System Information (MU-Plugins Dir Writable row)The wp-content/mu-plugins folder is not writable by PHP.Notices about the MU-plugin or data directory
Data directory is missing.Admin notice on wp-admin pages (with link to View Status)The base site data folder (default wp-content/grabwp-tenancy) does not exist.Notices about the MU-plugin or data directory
Plugin needs write access to create tenant directories and manage configuration files.Tenancy > Status > Plugin General, System Information (Data Dir Writable row)The base site data folder is not writable by PHP.Notices about the MU-plugin or data directory
Could not read tenants.php, so nothing was changed. Check the file and its permissions.Site create, edit or delete actiontenants.php could not be read before saving changes.Notices about the MU-plugin or data directory
Root .htaccess needs to be updated for tenant routing.Admin notice on GrabWP plugin pages (Apache and LiteSpeed only)The # BEGIN GrabWP Tenancy rewrite block in root .htaccess is missing, lacks the current path prefix rules (including a block written before Base 1.1.15), or sits after # BEGIN WordPress.Path URLs (/site/...) show 404 or a wrong page
.htaccess files are not used by Nginx. Configure tenant routing in your server block instead.Tenancy > Status > Plugin General, System Information (note under Web Server)The web server is Nginx, which does not read .htaccess files.Path URLs (/site/...) show 404 or a wrong page
Path routing requires mod_rewrite. Query string routing (?site=id) will be used as fallback.Tenancy > Status > Plugin General, System Information (mod_rewrite row)Apache mod_rewrite is reported as not loaded.Path URLs (/site/...) show 404 or a wrong page
GrabWP Tenancy is not designed for Multisite.Tenancy > Status > Plugin General, System Information (WordPress Multisite row shows Yes)WordPress Multisite is active on the main site.Hosting requirements
This site still runs as WordPress Multisite. GrabWP needs regular WordPress. Remove every line below.Hosting setup card (Multisite and wp-config.php row) on Tenancy > Status and in the setup wizardMultisite constants in wp-config.php still turn Multisite on.Settings in wp-config.php that stop GrabWP
wp-config.php has settings that stop GrabWP. Remove every line below.Hosting setup card (Multisite and wp-config.php row)wp-config.php defines a Multisite, address or cookie constant, or $base, that GrabWP sets for each site.Settings in wp-config.php that stop GrabWP
Some of these lines are inside a condition or still used by other code, so GrabWP cannot remove them for you.Hosting setup card, under Lines to remove by handAt least one listed line is inside an if block or its name is still used elsewhere, so Remove these settings is not offered.Settings in wp-config.php that stop GrabWP
This is a Multisite network with %d sites. Do not convert it: back up or move those sites first.Hosting setup cardThe main site is a real Multisite network with more than one site. GrabWP refuses to remove its settings.Hosting requirements
Your proxy or CDN serves https, but WordPress is not told.Hosting setup card (HTTPS behind a proxy row)A proxy or CDN reports https, but wp-config.php has no HTTPS detection. Add HTTPS detection fixes it.Hosting setup checks
Your site works on https, but WordPress still uses http.Hosting setup card (Secure address row)The site answers on https, but the WordPress Address and Site Address use http. Switch to https fixes it.Hosting setup checks
Tenant admins can install or edit plugin and theme code. That code runs on this server and can read the secret keys every site shares.Tenant file safety card (Unsafe) on Tenancy > Status and in the setup wizardDisable Install Plugins & Themes or Disable Plugin & Theme File Editor is off globally, forced off in wp-config.php, or turned off for one site by a Pro override.Tenant file safety warning
GrabWP lost some of its own code in these files and put it back. Other edits were kept:Notice on Tenancy > StatusThe integrity guard restored a missing or changed GrabWP block in a shared file.Install GrabWP
GrabWP could not put back its own code in these files because they are empty, broken or not writable, so it left them as they are and kept the last good copy in the integrity snapshots folder. Check them now:Notice on Tenancy > StatusA shared file is empty, truncated, unparseable or not writable. GrabWP never writes a broken file.Install GrabWP
Themes are managed by your host. You can still customize your current theme, menus and widgets from the Appearance menu.Client site wp-admin (page title Themes unavailable)Hide Themes Screen is on, and the site admin opened the Themes, theme install or theme editor screen.Free settings
You're using a legacy path structure. To comply with WordPress standards:Tenancy > Status (all tabs)The site data folder is at an older location (wp-content/grabwp or wp-content/uploads/grabwp-tenancy). Followed by steps to deactivate, move, and reactivate.Where site data lives
Multiple tenants.php files detectedTenancy > Status path warningMore than one candidate tenants.php file exists on disk; only one is loaded at boot.Where site data lives
Multiple global config.php files detectedTenancy > Status path warningPro config.php exists at both new (wp-content/grabwp-tenancy-pro/config.php) and legacy (wp-content/uploads/grabwp-tenancy-pro/config.php) locations.Where site data lives
Data directory inside uploads/Tenancy > Status path warningActive base directory is wp-content/uploads/grabwp-tenancy.Where site data lives
Pro config directory inside uploads/Tenancy > Status path warningActive Pro config directory is wp-content/uploads/grabwp-tenancy-pro.Where site data lives
SQLite directory inside uploads/Tenancy > Status path warningActive SQLite directory is wp-content/uploads/grabwp-tenancy-sqlite.Where site data lives
Directory paths hardcoded in wp-config.phpTenancy > Status info noticeGRABWP_TENANCY_DIRS_FROM_WPCONFIG is set because directory constants were defined in wp-config.php before load.php.Where site data lives
Multiple tenant-aliases.php files detectedTenancy > Status path warningMore than one tenant-aliases.php file exists across candidate directories.Where site data lives
Invalid or expired admin access token.Site auto-login (wp-login.php?grabwp_token_error=1)The grabwp_token is older than 1800 seconds (30 minutes) or its HMAC-SHA256 signature does not match.Site dashboard icon sends me to the login page
Tenant identification failed.Site auto-login (wp-login.php?grabwp_token_error=1)The plugin could not resolve a valid site ID on the request.Site dashboard icon sends me to the login page
No admin user found for tenant access.Site auto-login (wp-login.php?grabwp_token_error=1)No administrator account was found in the site's database user table.Site dashboard icon sends me to the login page

Pro (GrabWP Tenancy Pro) notices and errors​

Exact message in UIWhere it appearsCause in codeTroubleshooting guide
Please enter a license key.Tenancy > LicenseThe license activation form was submitted with an empty key.Pro license messages
This does not look like a GrabWP Pro license key. It should start with GRABWPPRO-.Tenancy > LicenseThe entered key does not match the GRABWPPRO- prefix and character format.Pro license messages
Organization ID not configured.Tenancy > LicenseReturned during license check when the organization ID constant is empty.Pro license messages
Invalid response from license server.Tenancy > LicenseThe reply from the license server could not be parsed as valid JSON.Pro license messages
Activation mismatch; refusing to clear license.Tenancy > LicenseThe activation ID passed to clear the license does not match the stored activation ID.Pro license messages
Failed to save Pro settings. Please check file permissions.Tenancy > Pro SettingsGrabWP Pro could not write config.php in the Pro configuration folder.Backup, restore or "Failed to save Pro settings"
The Isolated MySQL password is not available any more.Setup wizard / Pro database setupThe stored MySQL password could not be decrypted.Database options
Isolated sites start without themes. Install one under Tenants > Plugins & Themes after creating the site.Tenancy > Pro Settings > Isolation and site create/edit formInformational advice shown when new sites are configured to get their own themes.A site cannot install or find plugins and themes
symlink() is not available on this server.Tenancy > Pro Settings > SymlinkThe PHP symlink() function is disabled on the host.Hosting requirements
This backup has no WordPress site data, so nothing was restored. The site is unchanged.Restore TenantThe backup's database has no WordPress options table. Since Pro 1.1.18, the restore stops before any table is dropped.Backup, restore or "Failed to save Pro settings"
The backup database could not be restored. Nothing was changed on the site. Details: %sRestore TenantThe database import failed before the site's old tables were removed (for example a connection error).Backup, restore or "Failed to save Pro settings"
The backup database could not be restored, and the site's old database tables were already removed. Restore another backup to repair the site. Details: %sRestore TenantThe database import failed after the old tables were removed.Backup, restore or "Failed to save Pro settings"

WaaS (GrabWP Tenancy WaaS) notices and errors​

Exact message in UIWhere it appearsCause in codeTroubleshooting guide
Name is required.Signup form / validatorCustomer name field is empty on signup.Signup problems
Valid email is required.Signup form / validatorCustomer email field is empty or invalid.Signup problems
Please choose a template to get started.Signup form / validatorNo starter template was selected when required.Signup problems
Please choose an available template.Signup form / validatorThe chosen template does not exist or is inactive.Signup problems
This template is not available for the selected plan. Please choose a different template or upgrade your plan.Signup form / validatorThe chosen template is restricted from the selected plan.Signup problems
Please choose an available plan.Signup form / validatorThe selected plan does not exist or is inactive.Signup problems
This site name is reserved. Please choose another.Signup form / validatorThe chosen subdomain slug is in the reserved list (www, mail, admin, api, cdn, ftp, smtp, imap, pop, ns1, ns2, dns, cpanel, webmail, app).Signup problems
This site name is already taken. Please try another.Signup form / validatorAnother site already uses this site name.Signup problems
This site name is temporarily reserved by another checkout. Please try another.Signup form / validatorAn active provisioning intent holds the chosen site name for up to 2 hours (RESERVATION_TTL).Signup problems
Enter a platform domain such as example.com.Setup wizard (storefront step)Platform domain input did not pass domain validation.Site addresses, domains and DNS
The template was saved, but GrabWP could not confirm that WordPress is installed in that site. Open the site and check it before customers sign up.Setup wizard (Storefront, Your template)The site chosen as the template does not have WordPress installed yet.Set up WaaS
Custom domains are not available while sites use path URLs.Customer dashboard Domains tabRouting mode is set to path, which disables custom domains.A custom domain does not work
Custom domains are not available for your current plan.Customer dashboard Domains tabThe site's plan does not have the allow_custom_domain benefit enabled.A custom domain does not work
Maximum 2 custom domains allowed.Customer dashboard Domains tabThe site already has 2 custom domains attached.A custom domain does not work
Cannot remove your platform subdomain.Customer dashboard Domains tabThe customer tried to delete the primary platform subdomain.A custom domain does not work
Verify this domain before setting it as primary.Customer dashboard Domains tabThe customer tried to make an unverified custom domain primary.A custom domain does not work
Domain is not mapped to a tenant.Custom domain verificationThe domain is not present in the site's mapped domains list.A custom domain does not work
Domain is reachable but is not serving this site yet.Custom domain verificationThe HTTP probe reached a server, but the response did not match the site.A custom domain does not work
Domain did not respond. Point DNS and add it on the server, then try again.Custom domain verificationThe HTTP verification request to the custom domain failed or timed out.A custom domain does not work
Settings saved. / Signup and Dashboard pages checked. / WooCommerce anchor product is ready.Waas > Settings > GeneralSuccess notices after saving settings or running repair tools.WaaS settings
New API key generated. Copy it now - it will not be shown again:Waas > Settings > General (API Keys)Warning notice shown once immediately after generating a REST API key.WaaS settings

Add-ons and companion plugins​

Exact message in UIPluginCause in codeTroubleshooting guide
Stripe secret key is not configured.GrabWP Tenancy StripeStripe checkout or API call ran without Secret Key saved under Waas > Settings > Billing Providers.Payment provider errors
SePay is active. Add VND as primary or secondary currency in WaaS > Settings > Billing Providers before customers can pay with SePay.GrabWP Tenancy SePayOne-time admin notice shown when SePay is active and VND is not configured.Payment provider errors
Sepay requires VND currency. Please set VND as primary or secondary currency in WaaS settings first.GrabWP Tenancy WaaS / SePayCurrency validator error when SePay is enabled without VND as primary or secondary currency.Payment provider errors
GrabWP Tenancy Discounts needs GrabWP Tenancy WaaS %s or newer. Discounts are off until WaaS is updated.GrabWP Tenancy DiscountsThe installed WaaS version is older than the minimum required by the Discounts add-on.Before you buy
Discounts are off. Codes are kept, but checkouts, quotes and pages ignore them until you turn discounts on below.GrabWP Tenancy DiscountsShown on Waas > Discounts when discounts are disabled.Where things are in wp-admin
GrabWP Tenancy Custom Fields needs GrabWP Tenancy WaaS %s or newer. Custom fields are off until WaaS is updated.GrabWP Tenancy Custom FieldsThe installed WaaS is older than 1.1.25.Custom fields at signup
Check these fields: %s. / Fill in this field. / Enter a valid phone number, for example +84 90 123 4567. / Enter a valid email address.GrabWP Tenancy Custom Fields (signup form)A required custom field is empty, or a phone or email field does not match its format.Custom fields at signup
A field needs a label. / The default value does not fit the field type.GrabWP Tenancy Custom Fields (Waas > Custom Fields)The field form was saved without a Label, or the Default value does not pass the checks for that field type (for example an invalid email address).Custom fields at signup
Warning: Destructive OperationGrabWP RestoreShown on Tools > GrabWP Restore before restoring a backup archive over the current WordPress install (warns that the entire database, uploads, plugins, and themes will be replaced).Backup, restore or "Failed to save Pro settings"