How does Drush get information about installed and disabled modules and updates for them?

I'm facing issues since drush is trying to update modules that AREN'T in the modules directory nor in the system table anymore.

I had to remove them since they were causing problems. But in the end I got nothing but more problems.

How could I get drush to understand these do not exist anymore and do not need to be a)checked and b)especially not updated.

I've tried drush rr to "make it clear" but it keeps trying these causing errors that crash all other updates etc.


These the modules. Simplenews [simplenews-7.x-1.1], Simplenews Bounced Mail Handler [Simplenews_BMH-7.x-2.x-dev], Simplenews Statistics [simplenews_statistics-7.x-1.0-alpha1]

I can confirm that I can remove the simplenews rows from system table but they come back as soon as I run: drush rr OR drush pm-list --pipe --type=module --status=disabled--no-core

  • Have you tried clearing Drush's cache? drush cc drush ...
    – bleen
    Aug 21, 2016 at 18:10
  • Another thought... are you using drush aliases? e.g. drush @stage up -n Is it possible you are looking at a different env that still has those modules installed? Similarly, you could have this if you are using a multisite
    – bleen
    Aug 21, 2016 at 18:11
  • drush cc drush was a new command but sadly it didn't have any effect. And no, there is no multisite or aliases. Aug 21, 2016 at 19:10
  • Whoopsie. This was my mistake. I don't know how but there was a folder undes modules that had a tens of modules from some other installation. Therefore drush was picking them constantly. Removed and solved. Aug 22, 2016 at 12:04

1 Answer 1


Use pm-uninstall to completely remove a module from your system.

If you have already deleted the code for the modules in question, the safest and best thing to do is put the code back and run pm-uninstall. If you just want to get rid of the reference to the module in the system table, you could take matters into your own hands, and just do this: drush sqlq "delete from system where name in ('moduleone', 'moduletwo');" If you do that, though, then the module won't have a chance to remove any other unneeded assets that would be deleted if you used pm-uninstall.

  • Hi! i'm not sure if this works currently since I've removed those already "identified" modules. I believe that in order to remove them completely Drush would need files in place. But I'll give it a try... Aug 21, 2016 at 14:47
  • Updated the answer. Aug 21, 2016 at 20:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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