PrestaShop 1.6 and 1.7: XML error in admin panel must_have_modules_list.xml, modules_native_addons.xml - cause and solution

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:

  1. Replace the XML
  2. 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! :-)

Comments (0)
from 0