Via Package Manager

You can install xonsh using conda, pip or the package manager for your operating system distribution.

For the fullest interactive user experience, these additional packages should also be installed:


for command completion, configurable key bindings and especially multi-line line editing.


for xonsh and Python syntax-specific highlighting


updates process title (in terminal window and process monitor) to match Xonsh arguments.

Installing with these packages is the recommended configuration and is documented first. If you are operating in a specialized or restricted environment, you can install just the xonsh package, as described in fewer prerequisites


$ conda config --add channels conda-forge
$ conda install xonsh

pip: Typically you will activate a virtual environment and install xonsh there. This will ensure that you invoke the correct Python interpreter and pip module.

$ pip install xonsh[full]

This uses the pip ‘extras’ syntax, and is equivalent to:

$ pip install pygments prompt-toolkit setproctitle xonsh

The above pip commands may have to be spelled pip3 or sudo pip3 if you are not installing in a virtual environment.

source: Pip can also install the most recent xonsh source code from the xonsh project repository.

$ pip install pygments prompt-toolkit setproctitle

Spelling of pip command may likewise have to be amended as noted above.

platform package managers Various operating system distributions have platform-specific package managers which may offer a xonsh package. This may not be the most current version of xonsh, but it should have been tested for stability on that platform by the distribution managers.

OS or distribution




$ [sudo] apt install

pygments prompt-toolkit setproctitle xonsh


$ [sudo] dnf install

Arch Linux

$ [sudo] pacman -S


$ [sudo] brew install

If you run into any problems, please let us know!

Fewer Prerequisites

A design goal of Xonsh is to run in any environment that supports a (supported) Python interpreter, you can install just the xonsh package (using any package manager).

pip install xonsh

When it starts up, if xonsh does not find pygments or setproctitle packages, it simply does not colorize or highlight syntax or set process title, respectively.

If it does not find prompt-toolkit package, it will use the Python readline module (which reads configuration file .inputrc in a manner compatible with GNU readline). To ensure xonsh uses readline even if prompt-toolkit is installed, configure this in your .xonshrc file:

$SHELL_TYPE = 'readline'