Welcome to JFrog CLI

JFrog CLI is a compact and smart client that provides a simple interface that automates access to JFrog products simplifying your automation scripts and making them more readable and easier to maintain.

 JFrog CLI works with JFrog Artifactory, JFrog Mission Control, JFrog Bintray and JFrog Xray (through their respective REST APIs) making your scripts more efficient and reliable in several ways:

Parallel uploads and downloads

JFrog CLI lets you upload and download artifacts concurrently by a configurable number of threads which helps your automated builds run faster. For big artifacts, you can even define a number of chunks into which files should be split for parallel download.

Checksum optimization

JFrog CLI optimizes both upload and download operations by skipping artifacts that already exist in their target location. Before uploading an artifact, JFrog CLI queries Artifactory with the artifact's checksum. If it already exists in Artifactory's storage, the CLI skips sending the file, and, if necessary, Artifactory only updates its database to reflect the artifact upload. Similarly when downloading an artifact from Artifactory. If the artifact already exists in the same download path, it will be skipped. Thanks to checksum optimization, long upload and download operations can be stopped in the middle and then be continued later where they left off.

Wildcards and regular expressions

JFrog CLI supports wildcards and regular expressions giving you an easy way to collect all the artifacts you wish to upload or download.

Upload preview

All upload operations can be used with the --dry-run option to give you a preview of all the files that would be uploaded with the current command.


Download and Installation

To download the executable, please visit the .

You can also download the sources from the  on GitHub where you will also find instructions on how to build JFrog CLI.

System Requirements

JFrog CLI runs on any modern OS that fully supports the .


To use the CLI, place the executable anywhere in your file system and add its location to your PATH environment variable. While the basic command syntax is the same for all products, the available commands may vary depending on which product you are working with.


$ jfrog target command-name global-options command-options arguments



The product on which you wish to execute the command:

  • rt: JFrog Artifactory
  • bt: JFrog Bintray
  • mc: JFrog Mission Control
  • xr: JFrog Xray
The command to execute. Note that you can use either the full command name or its abbreviation.

A set of global options specifying the product URL and means of authentication. These may be used for all commands

A set of options corresponding to the command
A set of arguments corresponding to the command

Environment Variables

JFrog CLI makes use of the following environment variables:

Variable Name

[Default: INFO]

This variable determines the log level of the JFrog CLI.
Possible values are: INFO, ERROR, and DEBUG.
If set to ERROR, JFrog CLI logs error messages only. It is useful when you wish to read or parse the JFrog CLI output and do not want any other information logged.


[Default: true]

If true, JFrog CLI prompts for product server details and saves them in its config file. To avoid having automation scripts interrupted, set this value to false, and instead, provide product server details using the config command.


[Default: ~/.jfrog]

Defines the JFrog CLI home directory.


[Default: The operating system's temp directory]

Defines the temp directory used by JFrog CLI.


[Default: false]

If true, disables interactive prompts and progress bar.

Proxy Support

JFrog CLI supports using an HTTP/S proxy. All you need to do is set HTTP_PROXY or HTTPS_PROXY environment variable with the proxy URL.

HTTP_PROXY, HTTPS_PROXY and NO_PROXY are the industry standards for proxy usages.

Variable Name



Determines a URL to an HTTP proxy.


Determines a URL to an HTTPS proxy.


Use this variable to bypass the proxy to IP addresses, subnets or domains. This may contain a comma-separated list of hostnames or IPs without protocols and ports. A typical usage may be to set this variable to Artifactory’s IP address.

Bash and Zsh Auto-Completion

If you're using JFrog CLI from a bash or zsh shells, you can install JFrog CLI's auto-completion scripts.

If you're installing JFrog CLI using Homebrew, the bash auto-complete scripts are automatically installed by Homebrew. Please make sure that your .bash_profile is configured as described in the Homebrew Shell Completion documentation.

With your favourite text editor, open $HOME/.zshrc and add ‘jfrog’ to the plugin list.

For example:

plugins=(git mvn npm sdk jfrog)

To install auto-completion for bash, run the following command and follow the instructions to complete the installation.

jfrog completion bash

To install auto-completion for zsh, run the following command and follow the instructions to complete the installation.

jfrog completion zsh

Sensitive Data Encryption

Since version 1.37.0, JFrog CLI supports encrypting the sensitive data stored in JFrog CLI's config. To enable encryption, follow these steps.

  • Create a random 32 character master key. Make sure that the key size is exactly 32 characters. For example f84hc22dQfhe9f8ydFwfsdn48!wejh8A
  • Create a file named security.yaml under ~/.jfrog/security

    If you modified the default JFrog CLI home directory by setting JFROG_CLI_HOME_DIR environment variable, then the security/security.yaml file should br created under the configured home directory. 

  • Add the master key you generated to security.yaml. The file content should be:

version: 1
masterKey: "<your master key>"
  • Make sure that the only permission security.yaml has is read for the user running JFrog CLI. 

The configuration will be encrypted the next time JFrog CLI attempts to access the config.

When upgrading JFrog CLI from a version prior to 1.37.0 to version 1.37.0 or above, JFrog CLI automatically makes changes to the content of the ~/.jfrog directory, to support the new functionality introduced in version 1.37.0. Before making these changes, the content of the ~/.jfrog directory is backed up inside the ~/.jfrog/backup directory. Therefore, after enabling sensitive data encryption, it is recommended to remove the backup directory, to ensure no sensitive data is left unencrypted.

JFrog CLI Plugins

JFrog CLI Plugins allow enhancing the functionality of JFrog CLI to meet the specific user and organization needs. The source code of a plugin is maintained as an open source Go project on GitHub. All public plugins are registered in JFrog CLI's Plugins Registry. We encourage you, as developers, to create plugins and share them publicly with the rest of the community. When a plugin is included in the registry, it becomes publicly available and can be installed using JFrog CLI.

Version 1.41.1 or above is required. Plugins can be installed using the following JFrog CLI command.

$ jfrog plugin install the-plugin-name

Read the JFrog CLI Plugins Developer Guide if you wish to create and publish your own plugins.  

Release Notes

JFrog CLI release notes are available here.