Required parameter 'theme_dir' was not passed

Just in case if you are removing theme directly(Not in Magento way).

Then follow these steps.

STEP 1 : File Operations

Delete the content from app/design/frontend/<Vendor> (make sure you back it up first).

Delete all the content of folder var/view_preprocessed & pub/static/frontend.

rm -rf var/view_preprocessed/* pub/static/frontend/*

STEP 2 : DB Operations

Go to your theme table and delete the entry for your created theme.

After that...

Go to your core_config_data table and search the column path for design/theme/theme_id

SELECT * FROM core_config_data WHERE path = "design/theme/theme_id"

and replace your default theme id in it.

STEP 3 : Flush cache

Flush your cache php bin/magento cache:flush

It is very important that you follow all the steps first before trying to change the design in the backend! Otherwise it won't work.

Let me know if you still face any problems after that.


This error message means that you have a theme configured which doesn't exist on the file-system (any more).

It can be easily fixed by selecting a valid theme instead. Go to Content -> Configuration, select the scope (global, website, store_view) and change the theme. After you've done that you should also remove it from Content -> Themes.

change theme for store

References

  • Magento2 RC - Frontend theme not showing

In my case I deleted a child theme from Vendor directory. But the DB entry was still there in theme table. So go to the theme table and delete the record that points to deleted theme.