Need help with elvish?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

4.5K Stars 260 Forks BSD 2-Clause "Simplified" License 5.6K Commits 251 Opened issues


Elvish = Expressive Programming Language + Versatile Interactive Shell

Services available


Need anything else?

Contributors list

Elvish: Expressive Programming Language + Versatile Interactive Shell

CI status FreeBSD & gccgo test status Test Coverage Go Reference Packaging status Twitter

Elvish is an expressive programming language and a versatile interactive shell, combined into one seamless package. It runs on Linux, BSDs, macOS and Windows.

Despite its pre-1.0 status, it is already suitable for most daily interactive use.

Visit the official website for prebuilt binaries, blog posts, documentation and other resources.

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

Building Elvish

Most users do not need to build Elvish from source. Prebuilt binaries for the latest commit are provided for Linux amd64, macOS amd64, Windows amd64 and many other platforms.

To build Elvish from source, you need

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

    NOTE: Windows 10 support is experimental.

  • Go >= 1.16.

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

if you have set
). You might want to add the directory to your

To install it elsewhere, override

in the
make get ELVISH_MAKE_BIN=./elvish # Install to the repo root
make get ELVISH_MAKE_BIN=/usr/local/bin/elvish # Install to /usr/local/bin

Experimental plugin support

Elvish has experimental support for building and importing plugins, modules written in Go.

However, since plugin support relies on dynamic linking, it is not enabled in the official prebuilt binaries. You need to build Elvish from source, with


To build a plugin, see this example.

Packaging Elvish

See for notes for packagers.

Contributing to Elvish

See for notes for contributors.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.