Drush is a command-line shell and scripting interface for Drupal, a veritable Swiss Army knife designed to make life easier for those who spend their working hours hacking away at the command prompt.
Switch branches/tags
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci Apply patches that are compatible with the installed version of core. ( Nov 15, 2018
.docker Suppress deprecation notices in testing container Oct 4, 2018
.github/ISSUE_TEMPLATE Update issue templates for documentation requests Jul 15, 2018
build/scripts fix code comment. Feb 28, 2018
docs Fix wrong url (#3751) Oct 19, 2018
examples Correct 'hook' to '@hook' in a couple of PolicyCommands examples. Nov 21, 2018
includes Document --file-delete for sqlq (#3788) Nov 20, 2018
misc Fix router in drush rs (#3264) Dec 20, 2017
scenarios Remove DRUSH_EXECUTION_COMPLETED and DRUSH_EXIT_CODE handling (#3780) Nov 15, 2018
src Document --file-delete for sqlq (#3788) Nov 20, 2018
sut Fix #3741 Handle global Drush9 edge case (#3746) Oct 17, 2018
tests Remove DRUSH_EXECUTION_COMPLETED and DRUSH_EXIT_CODE handling (#3780) Nov 15, 2018
.env.example Use Symfony process instead of custom exec functions Oct 22, 2018
.gitattributes Keep things that are only needed for debugging out of Packagist's 'pr… Oct 17, 2018
.gitignore Retain 'contrib' / 'custom' paths for site-wide Drush extensions (#3687) Sep 19, 2018
.travis.yml Deprecate backend.inc in favor of a new site-process library (#3758) Nov 6, 2018
CONTRIBUTING.md SUT improvements - nothing for end users (#3728) Oct 14, 2018
README.md Provide docker-compose for running tests and developing Drush (#3691) Sep 20, 2018
composer.json Remove DRUSH_EXECUTION_COMPLETED and DRUSH_EXIT_CODE handling (#3780) Nov 15, 2018
docker-compose.yml Use Symfony process instead of custom exec functions Oct 22, 2018
dr.bat Some enhancements to Finder and misc Unish fixes for Windows. Aug 20, 2016
drush Make drush.php our front controller, and leave the 'drush' script as … Sep 25, 2017
drush.info Prep for beta3. Nov 15, 2018
drush.php Also load 'drush9.yml' to allow for variant Drush configuration files… ( Mar 14, 2018
drush.yml Comment our own drush.yml file. Sep 25, 2017
drush_logo-black.png #670736 by dman. Add drush logo. Not used anywhere, but its official.… Feb 5, 2010
mkdocs.yml Add link to new docs file about --filter Nov 9, 2018
phpcs.xml Add phpcs.xml file. Oct 1, 2018
sami-config.php Add auto-build of Sami API docs Nov 23, 2017
shippable.yml Add --filter to many commands (#3718) Oct 16, 2018


Drush is a command line shell and Unix scripting interface for Drupal. Drush core ships with lots of useful commands for interacting with code like modules/themes/profiles. Similarly, it runs update.php, executes SQL queries and DB migrations, and misc utilities like run cron or clear cache. Developers love the generate command, which jump starts your coding project by writing ready-to-customize PHP and YML files. Drush can be extended by 3rd party commandfiles.

Latest Stable Version Total Downloads Latest Unstable Version License Documentation Status

Code style Isolation Tests Functional Tests



Code of Conduct

The Drush project expects all participants to abide by the Drupal Code of Conduct.


Q: What does "Drush" stand for?
A: The Drupal Shell.

Q: How do I pronounce Drush?
A: Some people pronounce the dru with a long 'u' like Drupal. Fidelity points go to them, but they are in the minority. Most pronounce Drush so that it rhymes with hush, rush, flush, etc. This is the preferred pronunciation.

Q: Does Drush have unit tests?
A: Drush has an excellent suite of unit tests. See tests/README.md for more information.


Drush Logo PhpStorm Logo