How to install `juju`

See also:

This document demonstrates how to install juju on various operating systems or in various ways.


Install juju on Linux

Install juju from snap

Installing the Juju client from snap is the recommended installation method, as it ensures that the client gets automatically updated as soon as a new Juju release becomes available.

Snap command not available on your system? Visit for instructions on how to install snapd.

To install the Juju CLI client, run:

sudo snap install juju

Using snap also allows you to select a particular version by specifying the --channel argument:

sudo snap install juju --channel=<version/release>

For example,

sudo snap install juju  --channel=3.1/stable

A list of the available channels for the client can be obtained by running:

snap info juju

To install multiple versions of juju via snap, see Snapcraft | Parallel installs.

Install juju from binary

This method allows you to install the Juju client on systems that do not support snaps.

  1. Visit the project’s downloads page and select the binary that matches your system’s architecture and the version that you want to install.

For example, to download the 2.9.38 client for amd64:

curl -LO
  1. Validate the downloaded binary archive (optional)

Download the md5 checksum that matches the binary you just downloaded:

The link to the md5 signature can be constructed by appending /+md5 to the end of the link you just downloaded.

curl -L -o juju.md5

Validate the downloaded binary archive against the checksum file:

cat juju.md5 | md5sum --check

If the checksum check succeeds, the output will be:

juju-2.9.38-linux-amd64.tar.xz: OK

If the check fails, md5sum exits with nonzero status and prints output similar to:

juju-2.9.38-linux-amd64.tar.xz: FAILED
md5sum: WARNING: 1 computed checksum did NOT match
  1. Unpack and install client binary
tar xf juju-2.9.38-linux-amd64.tar.xz
sudo install -o root -g root -m 0755 juju /usr/local/bin/juju
  1. Test that the version of the client you installed is up to date
juju version

Install the Juju client on macOS

The Juju client is available on Homebrew and can be installed as follows:

brew install juju

Install the Juju client on Windows

Visit the project’s downloads page and select the signed installer for the Juju version you wish to install.

Build juju from source

Visit the downloads section of the Launchpad project to download a tar.gz with Juju source code. For build instructions refer to the contributing to Juju documentation on Github.

1 Like

This link for the windows binary is broken.

@jhillman This should be fixed now, sorry for the inconvenience.

1 Like

There is something wrong with the newest binaries?

$ md5sum -c juju.md5
juju-2.9.22-linux-amd64.tar.xz: OK

$ tar xfv juju-2.9.22-linux-amd64.tar.xz
tar: .: Cannot utime: Operation not permitted
tar: .: Cannot change mode to rwxr-xr-t: Operation not permitted
tar: Exiting with failure status due to previous errors

Worked for me

$ tar xfv juju-2.9.22-linux-amd64.tar.xz
$ ./juju version

I’ve updated the manual install instructions (sans snap) to latest 2.9.x version because I just had a partner attempt the instructions and bundles were failing to deploy in AWS… once he upgrade to 2.9.38 all was well.

This is especially important to keep up to date because WSL doesn’t support SNAP … try as I might to convince him to run Kubuntu baremetal :slight_smile:

1 Like

Just updated the broken link to