See also:

juju is the command line interface (CLI) software that is used to manage Juju controllers, whether as an administrator or as a regular user. It is one of the Juju clients available. For a programmatic client see python-libjuju.




The juju directory is located, on Ubuntu, at ~/.local/share/juju.

Aside from things like a credentials YAML file, which you are presumably able to recreate, this directory contains unique files such as Juju’s SSH keys, which are necessary to be able to connect to a Juju machine. This location may also be home to resources needed by charms or models.

On Microsoft Windows, the directory is in a different place (usually C:\Users\{username}\AppData\Roaming\Juju).

Backward compatibility

juju has been designed to be backward compatible and can talk to older or newer existing controllers if the controller and the client are on the same major version (2.x and 3.x). As such, performing simple commands can be achieved without upgrading the client. At the same time, it is always recommended to be up-to-date with the client and controller where possible.

Working locally

In the case of the localhost cloud (LXD), the cloud is a local LXD daemon housed within the same system as the Juju client:


LXD itself can operate over the network and Juju does support this (v.2.5.0).

Environment variables

You can also configure the Juju client using various environment variables. For more, see juju environment variables.


The Juju client can be extended with plugins. For more, see Plugins.

Roadmap and releases

Each Juju release is accompanied by a set of release notes that highlight the changes and bug fixes for each release. For more, see Roadmap & Releases.

Last updated 1 year, 3 months ago.