Alter an Existing Drush Command for Drupal 8, Drupal 9

Last updated November 12, 2021

Often, there's an existing Drush command that does most of what you want, but needs just a few tweaks or enhancements to make it meet your project requirements. Maybe the existing core Drush command has the functionality but lacks some additional validation. Or maybe you need to add an additional option to perform some application-specific debugging logic for all commands in a group.

Drush hooks can be used to alter, extend, and enhance existing Drush commands.

In this tutorial we'll:

  • Learn how to alter a Drush command with code in a custom module
  • Declare a validation hook that alters the user:password command with additional password validation logic

By the end of this tutorial you should be able to alter a Drush command provided by Drush core or a contributed module with your own custom code.