Install JFrog CLI Plugins

Install or upgrade a JFrog CLI plugin from the JFrog CLI Plugins Registry.

Synopsis

jf plugin install <plugin-name-and-version> [options]

Aliases: plugin i

Arguments

The following table lists jf plugin install arguments.

ArgumentRequiredDescription
<plugin-name-and-version>YesPlugin name and version. Use plugin@version format (for example, [email protected] or [email protected]). The version string must match how it is published in the registry. Omit the version to download the latest.

Options

The following table lists jf plugin install options.

FlagShortDefaultDescription
--formatOutput format. Available from JFrog CLI 2.105.0. Only json is supported (table is not accepted). With --format json the command emits {"status_code":N,"message":"..."}. Passing --format alone returns Incorrect Usage: flag needs an argument: -format; passing an unsupported value (for example, --format=table) returns [🚨Error] only the following output formats are supported: json.

Environment Variables

The following table lists environment variables for jf plugin install.

VariableDefaultDescription
JFROG_CLI_PLUGINS_SERVEROfficial JFrog CLI Plugins RegistryConfigured JFrog Artifactory server identifier from which to download plugins
JFROG_CLI_PLUGINS_REPOjfrog-cli-pluginsLocal repository name. Use with JFROG_CLI_PLUGINS_SERVER to download from a custom source

Examples

📘

Find available plugins

For plugin names and available versions before you run the install command, see the JFrog CLI Plugins Registry.

Show Help

To show install command help:

  • Run the following command.

    jf plugin install --help

Install Latest Version

To install the latest version of a plugin:

  1. Run:

    jf plugin install <plugin-name>

    Where:

    • <plugin-name>: Name of the plugin in the registry

    For example:

    jf plugin install rt-fs

Expected output:

[Info] Downloading: rt-fs
[Info] Downloading: rt-fs
[Info] Plugin downloaded successfully.
📘

Duplicate log line and version confirmation

The Downloading log line appears twice. This behavior is expected from JFrog CLI. The success message does not include the installed version number. To confirm which version was installed, run the plugin with --version.

jf rt-fs --version

Install Specific Version

❗️

Important

If the plugin is already installed at any version, uninstall it before you install a specific version. Installing over an existing plugin can corrupt the installation and delete the plugin directory. For the safe procedure, see Upgrading or switching versions.

To install a specific version of a plugin:

  1. Run:

    jf plugin install <plugin-name>@<version>

    Where:

    • <plugin-name>: Plugin name
    • <version>: Version string as published (for example, v1.1.5 or 1.0.0)

    For example:

    jf plugin install [email protected]

Expected output:

[Info] Downloading: rt-fs
[Info] Downloading: rt-fs
[Info] Plugin downloaded successfully.
📘

Duplicate log line

The Downloading log line appears twice. This behavior is expected from JFrog CLI. The success message does not include the version number. To confirm the installed version, run the plugin with --version.

To verify the installation:

  • List the plugin directory.

    ls ~/.jfrog/plugins/

Upgrading or Switching Versions

To change the installed version of a plugin:

  1. Uninstall the existing plugin.

  2. Install the target version:

    jf plugin uninstall <plugin-name>
    jf plugin install <plugin-name>@<version>

    Where:

    • <plugin-name>: Plugin name
    • <version>: Desired version as published in the registry

    For example:

    jf plugin uninstall rt-fs
    jf plugin install [email protected]
📘

Why uninstall first

Installing a different version over an existing plugin causes JFrog CLI to kill the running plugin binary during a startup signature check. This leaves the install in a broken state, deletes the plugin directory, and returns a chmod ... no such file or directory error. Uninstalling first avoids this problem.

Install from Custom Registry

To install a plugin from a custom JFrog Artifactory registry:

  1. Set the server and optional repository, then install:

    export JFROG_CLI_PLUGINS_SERVER=<server-id>
    export JFROG_CLI_PLUGINS_REPO=<repository-name>
    jf plugin install <plugin-name>

    Where:

    • <server-id> — JFrog CLI server identifier that points at your JFrog Artifactory instance.
    • <repository-name> — Local generic repository name on that server. Set this only if you are not using the default jfrog-cli-plugins repository.
    • <plugin-name> — Plugin name in that registry.

    For example:

    export JFROG_CLI_PLUGINS_SERVER=my-artifactory
    export JFROG_CLI_PLUGINS_REPO=jfrog-cli-plugins
    jf plugin install my-internal-plugin

When to Use

Use jf plugin install to extend JFrog CLI with community or custom plugins. Plugins add new commands that are not part of the core CLI. For available plugins, see the JFrog CLI Plugins Registry.

Important Notes

  • Version format. Use plugin-name@version to install a specific version. The version must match the registry (often v-prefixed, for example [email protected]; the CLI also accepts forms like [email protected] as in built-in help). Omit the version to install the latest.
  • Custom registry. Set JFROG_CLI_PLUGINS_SERVER and JFROG_CLI_PLUGINS_REPO to download plugins from your own JFrog Artifactory instance. This helps in air-gapped environments or when you use enterprise-approved plugin sets.
  • Install location. Plugins are installed in ~/.jfrog/plugins/, or in $JFROG_CLI_HOME_DIR/plugins/ when you set that variable.
  • Upgrades. Always uninstall the existing version before you install a different one. Running jf plugin install directly over an existing plugin can corrupt and delete the installation. For more information, see Upgrading or Switching Versions.
  • Failed installs. If installation fails, any partially downloaded files are cleaned up automatically. Run the install command again to retry.
  • macOS on Apple Silicon and Intel. Plugin binaries must be notarized by Apple to run on macOS. If a plugin is not notarized, macOS Gatekeeper blocks execution and the install fails. Contact the plugin author if you encounter a security or permission error after a successful download. As a workaround, you can clear the quarantine flag manually with xattr -d com.apple.quarantine ~/.jfrog/plugins/<plugin-name>/bin/<plugin-name>.

Troubleshooting

Error: 404 when installing a plugin

Cause: The plugin name is incorrect, or the specified version does not exist in the registry.

To resolve a 404 when installing:

  1. Verify the exact plugin name in the JFrog CLI Plugins Registry

  2. If specifying a version, ensure it exactly matches the published version string for that plugin

  3. Try installing without a version to get the latest:

    jf plugin install <plugin-name>

    Where:

    • <plugin-name>: Registry name of the plugin

Error: chmod ... no such file or directory on macOS

Cause: macOS Gatekeeper is preventing the downloaded plugin binary from being set as executable. The binary exists on disk but the OS security layer blocks the operation.

To recover on macOS:

  1. Manually clear the quarantine attribute and set permissions:

    xattr -d com.apple.quarantine ~/.jfrog/plugins/<plugin-name>/bin/<plugin-name>
    chmod +x ~/.jfrog/plugins/<plugin-name>/bin/<plugin-name>

    Where:

    • <plugin-name>: Plugin name

    For example:

    xattr -d com.apple.quarantine ~/.jfrog/plugins/rt-fs/bin/rt-fs
    chmod +x ~/.jfrog/plugins/rt-fs/bin/rt-fs
  2. If the plugin directory was deleted by the failed install, run jf plugin install <plugin-name> again and immediately apply the preceding fix before the CLI cleans up.

  3. Contact the plugin author to request that they notarize their macOS binaries.

Startup [Error] messages appear before every command

Cause: A previously installed plugin is corrupt, incompatible with the current JFrog CLI version, or blocked by the operating system.

To remove a broken plugin:

  1. Uninstall and reinstall:

    jf plugin uninstall <plugin-name>
    jf plugin install <plugin-name>

    Where:

    • <plugin-name>: Plugin to replace
  2. If the plugin directory no longer appears under ~/.jfrog/plugins/ but errors persist, check plugins.yml for stale entries.

    cat ~/.jfrog/plugins/plugins.yml