what to do if there is a drush command file worked with drush 7 but doesn't work with drush 8. The official docs seem not to have an upgrade guide for this.
closed as too broad by Mołot, Shawn Conn, Krishna Mohan, Елин Й., rooby Jan 12 '16 at 13:50
Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.
Drush makes an attempt to never run any code associated with a module or theme unless that module or theme is enabled. This protection is often more conservative than necessary, as some Drush extensions do not exercise any code that requires a Drupal bootstrap.
None the less, Drush 8 is more rigorous than Drush 7 was. Drush 7 would search for extensions in all of the theme folders regardless of whether the corresponding themes were enabled. Drush 8, on the other hand, ignores extensions stored with disabled themes.
Include paths provided specifically via the --include option are always searched, though; Drush makes no attempt to determine if the specified path happens to correspond to a disabled theme. This is why the workaround you found works.