Title: wp shell
Published: February 5, 2018
Last modified: April 13, 2026

---

# 󠀁[wp shell ](https://developer.wordpress.org/cli/commands/shell/)󠁿

Opens an interactive PHP console for running and testing PHP code.

## In this article

 * [Options](https://developer.wordpress.org/cli/commands/shell/?output_format=md#options)
 * [Examples](https://developer.wordpress.org/cli/commands/shell/?output_format=md#examples)
 * [Global Parameters](https://developer.wordpress.org/cli/commands/shell/?output_format=md#global-parameters)

[ Back to top](https://developer.wordpress.org/cli/commands/shell/?output_format=md#wp--skip-link--target)

 [ ⌊GitHub⌉ ](https://github.com/wp-cli/shell-command)

 [ View Open Issues (1) ](https://github.com/login?return_to=%2Fissues%3Fq%3Dlabel%3Acommand%3Ashell+sort%3Aupdated-desc+org%3Awp-cli+is%3Aopen)
[ View Closed Issues (41) ](https://github.com/login?return_to=%2Fissues%3Fq%3Dlabel%3Acommand%3Ashell+sort%3Aupdated-desc+org%3Awp-cli+is%3Aclosed)
[Create New Issue](https://github.com/wp-cli/shell-command/issues/new)

`wp shell` allows you to evaluate PHP statements and expressions interactively, 
from within a WordPress environment. Type a bit of code, hit enter, and see the 
code execute right before you. Because WordPress is loaded, you have access to all
the functions, classes and globals that you can use within a WordPress plugin, for
example.

### 󠀁[Options](https://developer.wordpress.org/cli/commands/shell/?output_format=md#options)󠁿

 See the [argument syntax](https://make.wordpress.org/cli/handbook/references/argument-syntax/)
reference for a detailed explanation of the syntax conventions used.  [--basic] 
Force the use of WP-CLI’s built-in PHP REPL, even if the Boris or PsySH PHP REPLs
are available.

### 󠀁[Examples](https://developer.wordpress.org/cli/commands/shell/?output_format=md#examples)󠁿

    ```
    # Call get_bloginfo() to get the name of the site.
    $ wp shell
    wp> get_bloginfo( 'name' );
    => string(6) "WP-CLI"
    ```

### 󠀁[Global Parameters](https://developer.wordpress.org/cli/commands/shell/?output_format=md#global-parameters)󠁿

 These [global parameters](https://make.wordpress.org/cli/handbook/config/) have
the same behavior across all commands and affect how WP-CLI interacts with WordPress.

  |  **Argument** |  **Description** |  
   |  `--path=<path>` |  Path to the WordPress files. |  
 |  `--url=<url>` |  Pretend request came from given URL. In multisite, this argument is how the target site is specified. |  
 |  `--ssh=[<scheme>:][<user>@]<host\|container>[:<port>][<path>]` |  Perform operation against a remote server over SSH (or a container using scheme of “docker”, “docker-compose”, “docker-compose-run”, “vagrant”). |  
 |  `--http=<http>` |  Perform operation against a remote WordPress installation over HTTP. |  
 |  `--user=<id\|login\|email>` |  Set the WordPress user. |  
 |  `--skip-plugins[=<plugins>]` |  Skip loading all plugins, or a comma-separated list of plugins. Note: mu-plugins are still loaded. |  
 |  `--skip-themes[=<themes>]` |  Skip loading all themes, or a comma-separated list of themes. |  
 |  `--skip-packages` |  Skip loading all installed packages. |  
 |  `--require=<path>` |  Load PHP file before running the command (may be used more than once). |  
 |  `--exec=<php-code>` |  Execute PHP code before running the command (may be used more than once). |  
 |  `--context=<context>` |  Load WordPress in a given context. |  
 |  `--[no-]color` |  Whether to colorize the output. |  
 |  `--debug[=<group>]` |  Show all PHP errors and add verbosity to WP-CLI output. Built-in groups include: bootstrap, commandfactory, and help. |  
 |  `--prompt[=<assoc>]` |  Prompt the user to enter values for all command arguments, or a subset specified as comma-separated values. |  
 |  `--quiet` |  Suppress informational messages. |

 _Command documentation is regenerated at every release. To add or update an example,
please submit a pull request against the corresponding part of the codebase._