PrestaShop 1.6 / 1.7 – XML errors in the admin panel – cause and solution
Problem files: must_have_modules_list.xml, modules_native_addons.xml
Recently, errors related to XML files have begun appearing in the admin panel of PrestaShop 1.6 and 1.7 stores, e.g.:
Error found : Start tag expected, '<' not found in must_have_modules_list.xml file Error found : Start tag expected, '<' not found in default_country_modules_list.xml file Error found : Start tag expected, '<' not found in modules_native_addons.xml file
The issue stems from communication between the admin panel and the PrestaShop Addons API and, in most cases, does not affect the store’s functionality from the customer’s perspective, but may cause problems in the admin panel.
Where do these XML files come from?
The issue stems from communication between the admin panel and the PrestaShop Addons API and, in most cases, does not affect the store’s operation from the customer’s perspective, but may cause issues in the admin panel.
PrestaShop periodically fetches lists of modules from the Addons API and saves them locally in the directory:
config/xml/
Key files
## must_have_modules_list.xml Lista polecanych modułów z marketplace PrestaShop. ## default_country_modules_list.xml Lista modułów sugerowanych dla danego kraju. ## modules_native_addons.xml Lista modułów natywnych dostępnych w PrestaShop Addons.
These files are mainly used in the admin panel under Modules → Module Manager.
PrestaShop uses them to:
- displaying recommended modules
- marking modules as "must-have"
- integrating with the Addons marketplace
- presenting native modules
Documentation:
https://devdocs.prestashop-project.org/8/modules/
Why does this error occur?
Older versions of PrestaShop expect the Addons API to return data in XML format.
Currently, it happens that the API endpoints:
- are temporarily unavailable
- return errors
- return a response in a different format (e.g., JSON)
- return an incomplete response
Example request:
https://api.addons.prestashop.com/?version=1.6.1.24&method=listing&action=must-have
If the response is not valid XML, the PrestaShop parser (`simplexml_load_string`) reports an error:
Start tag expected, '<' not found
PHP XML parser documentation:
https://www.php.net/manual/en/...
What are the symptoms of the problem?
In addition to XML errors in the admin panel, the problem may also cause:
- no results in the search engine
- issues with module filtering
- incomplete module lists
- slower page loading Modules
- errors when browsing the Addons marketplace
This issue affects only the module management section. It does not affect orders, products, customers, payments, the shopping cart, or the store frontend.
Quick fix
The simplest solution is to replace the content of the problematic files with minimal, valid XML. Log in via SSH or FTP to:
config/xml/
And replace the contents of the files with the values provided below the filename:
## must_have_modules_list.xml: <?xml version="1.0" encoding="UTF-8"?> <modules/> ## default_country_modules_list.xml: <?xml version="1.0" encoding="UTF-8"?> <modules/> ## modules_native_addons.xml: <?xml version="1.0" encoding="UTF-8"?> <modules/>
For the future – how to prevent files from being overwritten again
Replacing the XML usually solves the problem immediately, but keep in mind that PrestaShop may try to download and update these files again in the future. You have two practical approaches.
Option 1 – Block file writing
You can set the files to read-only. This is a simple and quick solution, but it still relies on PrestaShop attempting to perform the update, only it won’t be able to overwrite the files. Perform this operation via SSH or manually in an FTP client:
chmod 444 config/xml/must_have_modules_list.xml chmod 444 config/xml/default_country_modules_list.xml chmod 444 config/xml/modules_native_addons.xml
Option 2 – Override the Tools class
A more elegant solution is to disable Addons API checks by overriding the Tools class.
File:
override/classes/Tools.php
Override example:
php
class Tools extends ToolsCore
{
protected static $is_addons_up = false;
}
This causes PrestaShop:
- does not attempt to connect to the Addons API
- does not re-download these XML files
- does not generate related errors
Override documentation:
https://devdocs.prestashop-pro...
After adding the override, you need to clear the cache—do this manually or via SSH:
PS 1.7:
rm -rf var/cache/*
PS 1.6:
rm -rf cache/class_index.php
What do we lose by disabling the Addons API?
In practice, most production stores install modules manually anyway, so losing this feature usually doesn’t matter.
The following will not work:
- the list of recommended modules
- the marketplace in the dashboard
- module suggestions
- "must-have" labels
- viewing Addons from the admin panel
Still works:
- module installation from ZIP
- manual module installation
- module updates
- entire store
- orders
- Checkout
Summary
The issue stems from communication between the old version of PrestaShop and the Addons API. Key facts:
- this is not a server issue
- This is not a store configuration issue
- This is not malware
- it does not affect sales
- It affects only the modules panel
Best solution:
- Replace the XML
- Disable the Addons API
Recommendation
If the store is running stably, you can safely apply the above workaround. If the store is still running on PrestaShop 1.6 or the older 1.7, you should also consider:
- upgrading to a newer version
- a technical audit
- updating modules
- performance optimization
In any of the above cases—feel free to contact us, we’re here to help! :-)







