Skip to content
The official balena CLI tool.
Branch: master
Clone or download
Latest commit 66dfddc Jun 16, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github docs: update GitHub issue template, required Node version and sample … Jun 16, 2019
automation Pin prettier and add formatting changes Jun 10, 2019
bin Fix ts-node invocation in balena-dev Jun 7, 2019
doc Add device OS update action Jun 11, 2019
lib livepush: Ignore the .git directory when performing a livepush Jun 12, 2019
patches Revert bin/balena (previously renamed bin/run for oclif compatibility) Jun 4, 2019
tests Rename everything from 'resin' to 'balena' Oct 29, 2018
typings Add initial typings for resin-cli-form Jun 6, 2019
.editorconfig fix resin local push help message and lint errors Mar 21, 2017
.gitignore Add native installers for Windows and macOS Jun 4, 2019
.hound.yml Change java_script to javascript in hound config Oct 19, 2015
.npmrc Use an .npmrc to prevent creating a package-lock on each install May 31, 2019
.prettierrc Fix prettier configuration to avoid linting errors Mar 5, 2018
.resinci.yml Update README and INSTALL docs (review typos and some rewording) May 1, 2019
.travis.yml Fix Travis release Jun 4, 2019 v11.2.2 Jun 16, 2019 Add and some guidance on commit messages and doc files. Jun 4, 2019 docs: update GitHub issue template, required Node version and sample … Jun 16, 2019
LICENSE Change license to Apache 2.0 Jan 4, 2016 Add and some guidance on commit messages and doc files. Jun 4, 2019 Unify the CLI instructions between capitanodoc.ts and, move Apr 29, 2019
appveyor.yml Add native installers for Windows and macOS Jun 4, 2019
balena-completion.bash Remove 'signup' command Jun 4, 2019
coffeelint.json Add Coffeelint support Oct 31, 2014 dependencies: bump gulp to v4 May 2, 2019
package.json v11.2.2 Jun 16, 2019
tsconfig.json Bump min Node.js version to 8.0, ts-node to 8.1 and typescript to 3.4. Jun 4, 2019
tslint.json Add tslint config to enable consistent lint process Apr 24, 2019

balena CLI

The official balena CLI tool.

npm version dependencies Gitter


The balena CLI (Command-Line Interface) allows you to interact with the balenaCloud and the balena API through a terminal window on Linux, macOS or Windows. You can also write shell scripts around it, or import its Node.js modules to use it programmatically. As an open-source project on GitHub, your contribution is also welcome!


Check the balena CLI installation instructions on GitHub.

Getting Started

Choosing a shell (command prompt/terminal)

On Windows, the standard Command Prompt (cmd.exe) and PowerShell are supported. We are aware of users also having a good experience with alternative shells, including:

On macOS and Linux, the standard terminal window is supported. Optionally, bash command auto completion may be enabled by copying the balena-completion.bash file to your system's bash_completion directory: check Docker's command completion guide for system setup instructions.

Logging in

Several CLI commands require access to your balenaCloud account, for example in order to push a new release to your application. Those commands require creating a CLI login session by running:

$ balena login

Proxy support

HTTP(S) proxies can be configured through any of the following methods, in order of preference:

  • Set the BALENARC_PROXY environment variable in URL format (with protocol, host, port, and optionally basic auth).
  • Alternatively, use the balena config file (project-specific or user-level) and set the proxy setting. It can be:
  • Alternatively, set the conventional https_proxy / HTTPS_PROXY / http_proxy / HTTP_PROXY environment variable (in the same standard URL format).

To get a proxy to work with the balena ssh command, check the installation instructions.

Command reference documentation

The full CLI command reference is available on the web or by running balena help and balena help --verbose.

Support, FAQ and troubleshooting

If you come across any problems or would like to get in touch:

Contributing (including editing documentation files)

Please have a look at the file for some guidance before submitting a pull request or updating documentation (because some files are automatically generated). Thank you for your help and interest!


The project is licensed under the Apache 2.0 License. A copy is also available in the LICENSE file in this repository.

You can’t perform that action at this time.