Skip to content


Open an interactive shell on a Drupal site.


  • $node = Node::load(1). Entity classes are available without their namespace. For example, Node::load(1) works instead of Drupal\Node\entity\Node::load(1).
  • $paragraph = Paragraph::loadRevision(1). Also, a loadRevision static method is made available for easier load of revisions.


  • --version-history. Use command history based on Drupal version. Default is per site.
  • --cwd=CWD. A directory to change to before launching the shell. Default is the project root directory

Global Options

  • -v|vv|vvv, --verbose. Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug
  • -y, --yes. Auto-accept the default for all user prompts. Equivalent to --no-interaction.
  • -l, --uri=URI. A base URL for building links and selecting a multi-site. Defaults to https://default.
  • To see all global options, run drush topic and pick the first choice.



  • php
  • core:cli
  • core-cli


  • An argument or option with square brackets is optional.
  • Any default value is listed at end of arg/option description.
  • An ellipsis indicates that an argument accepts multiple values separated by a space.