`juju` (Juju client)

See also:

juju is the main CLI client of Juju that you can use to manage Juju controllers, whether as an administrator or as a regular user.




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.

Contributors: @acsgn , @hpidcock , @tmihoc

Hi @tmihoc , the URL for juju commands goes to a archived page and cannot be visited by anonymous users. I believe the correct URL should be Juju | Juju CLI commands | Juju CLI commands. Can we update it? Thanks!

1 Like

@acsgn Fixed, thanks! PS Also added you to the list of contributors on the bottom of the doc.

1 Like