Skip to content
Friendly Interactive Shell and Expressive Programming Language
Go HTML CSS JavaScript Shell Makefile Other
Branch: master
Clone or download

Elvish: Friendly Interactive Shell and Expressive Programming Language

Build Status on Travis Build status on AppVeyor Code Coverage on Code Coverage on Go Report Card GoDoc License Twitter

Elvish is a friendly interactive shell and an expressive programming language. It runs on Linux, BSDs, macOS and Windows. Despite its pre-1.0 status, it is already suitable for most daily interactive use.

Most of the resources for Elvish can be found on the official website.

User groups (all connected thanks to matterbridge): Gitter Telegram Group #elvish on freenode

Building Elvish

To build Elvish from source, you need

  • A supported OS: Linux, {Free,Net,Open}BSD, macOS, or Windows.

    NOTE: Windows support is experimental. Elvish builds on Windows >= 7, but the terminal IO only works correctly on Windows 10.

  • Go >= 1.13.

To build Elvish from source, follow these steps:

# 1. Start from any directory you want to store Elvish's source code
# 2. Clone the Git repository
git clone
# 3. Change into the repository
cd elvish
# 4. Build and install Elvish
make get

This will install Elvish to ~/go/bin.

Alternatively, you can also just use go get to install Elvish:

go get -u

This will clone the Git repository to ~/go/src/, updating it if already exists, and install Elvish to ~/go/bin. However, Elvish built this way will lack version information, although it is otherwise fully functional.

Some tips on installation:

  • Remember to add $HOME/go/bin to your PATH so that you can run elvish directly.

  • If you want to install Elvish to a different place, follow these steps to set GOPATH, and Elvish will be installed to $GOPATH/bin instead.

Contributing to Elvish

See for more notes for contributors.

You can’t perform that action at this time.