This is my first Magento project and I am using DevBox Magento 2.1.6 CE. I installed a custom theme and have it running. However, when I restart my Magento set-up (using "./m2devbox-init.bat") I get the Required parameter 'theme_dir' was not passed error.

Checking the core_config_data table shows the correct theme_dir id. My backend shows the correct them selected. The only way to get my theme working again is to:

  1. In backend, switch to Magento Luna Theme.
  2. Clear cache
  3. Reselect custom theme
  4. In database, manually change custom theme Type attribute from "1" to "0".
  5. Clear cache

Why does this keep happening on start-up?

Every time I've run in to this Required parameter 'theme_dir' was not passed error it's because I either deleted or moved or renamed a theme's directory (or a themes parent theme) without properly uninstalling it from the database.

There are a a couple ways to fix it, I think, like possibly adding the missing or renamed theme directory back to allow running the normal bin/magento theme:uninstall command... but I usually just log into the database, go to the theme table, either delete the missing theme's row (or fix the "parent" theme reference, depending on what went wrong).

This existing SE article covers these options in more detail:

It's not clear to me how the theme's "type" get's set, and why yours is set to Virtual... but since it is Virtual, maybe the error is coming from it looking for a Parent theme that's not there (or moved?). More on theme "Types":

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.