Why are `drush pm-list` & `drush pm-updatestatus` disabling the default theme? I have a Drupal 7 site with 3 themes enabled:


Foo
Adminimal
Shiny


Foo is a custom theme for the front-end, located in /sites/foo/themes/ and set as the default. 

Adminimal and Shiny are both installed via drush make into sites/all/themes/contrib/.

Running drush pm-updatestatus disables the default 'Foo' theme.

$ drush pm-updatestatus
Checking available update data ...                             [ok]
Failed to check available update data for Foo settings.        [ok]
Checked available update data for Administration menu.         [ok]
...
Checked available update data for Adminimal.                   [ok]
Checked available update data for Shiny.                       [ok]
Failed to get available update data for one project.           [error]
Checked available update data for 64 projects.                 [status]
 Name                                                        Installed Version  Proposed version  Message
 Administration menu Adminimal Theme (adminimal_admin_menu)  7.x-1.6            7.x-1.7           Update available
...
 Adminimal (adminimal_theme)                                 7.x-1.21           7.x-1.24          Update available
 Shiny (shiny)                                               7.x-1.6            7.x-1.7           Update available


The Failed to check available update data for Foo settings. &amp; Failed to get available update data for one project. [error] lines from the output clearly look relevant, but I'm struggling to identify the underlying cause.

With the Drush's -d debug flag enabled the output includes this line before the Failed to get update data for on project [error]:

Undefined index: foo theme.inc:100 [1.78 sec, 35.7 MB]            [notice]


drush pm-list has the same effect.

Presumably there's something wrong with the declaration, or location of the Foo theme?

Checking the status report via the Drupal admin does not disable the Foo theme.

Why would drush pm-list &amp; drush pm-updatestatus disable the default theme?
Your themes for Drupal 7 should live here:


/sites/all/themes/THEMENAME - for all sites and all themes
/sites/example.com/themes/THEMENAME - for example.com of a multisite setup


Now in your case there is an additional note: You have the option to put your theme in a contrib and a custom subfolder. Themes in the custom subfolder would be skipped during the update process (see /r/drupal for cross reference). There is a caveat though: Apparently once you use contribyou also have to use custom otherwise it seems the whole tree breaks (see disqus)

Try to move the foo theme too: /sites/all/themes/custom/foo or /sites/example.com/themes/custom/foo then run drush rr and drush cc all