Install JFrog CLI plugins

Install or upgrade a JFrog CLI plugin from the plugins registry.

Synopsis

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

Aliases: plugin i

Arguments

ArgumentRequiredDescription
<plugin-name-and-version>YesPlugin name and version. Use plugin@version format (for example, [email protected]). Version must include a v prefix. Omit the version to download the latest.

Options

None.

Environment Variables

VariableDefaultDescription
JFROG_CLI_PLUGINS_SERVEROfficial JFrog CLI Plugins registryConfigured Artifactory server ID 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

Browse the JFrog CLI Plugins Registry to find plugin names and their available versions before running the install command.

Show Help

To show install command help:

  • Run:

    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.
📘

Note

The Downloading log line appears twice — this is expected CLI behavior. 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 (any version), uninstall it before installing a specific version. Installing over an existing plugin can corrupt the installation and delete the plugin directory. See Upgrading or switching versions for the safe procedure.

To install a specific version of a plugin:

  1. Run:

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

    Where:

    • <plugin-name>: Plugin name
    • <version>: Version string with v prefix (for example, v1.1.5)

    For example:

    jf plugin install [email protected]

Expected output:

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

Note

The Downloading log line appears twice — this is expected CLI behavior. 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 with v prefix

    For example:

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

Why is this required?

Installing a different version over an existing plugin causes the 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.

Install from Custom Registry

To install a plugin from a custom Artifactory registry:

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

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

    Where:

    • <server-id>: JFrog CLI server ID that points at your Artifactory instance
    • <repo-name>: Local generic repository name on that server (set only if 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. Browse available plugins at the JFrog CLI Plugins Registry.

Important Notes

  • Version format: Use [email protected] to install a specific version. The version must include a v prefix (for example, [email protected]). 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 Artifactory instance (useful for air-gapped environments or enterprise-approved plugin sets).
  • Install location: Plugins are installed in ~/.jfrog/plugins/ (or $JFROG_CLI_HOME_DIR/plugins/).
  • Upgrades: Always uninstall the existing version before installing a different one. Running jf plugin install directly over an existing plugin can corrupt and delete the installation. See Upgrading or Switching Versions.
  • Failed installs: If installation fails, any partially downloaded files are cleaned up automatically. Re-run the install command to retry.
  • macOS (Apple Silicon and Intel): Plugin binaries must be notarized by Apple to run on macOS. If a plugin is not notarized, macOS Gatekeeper will block execution and the install will fail. 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: 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 fix a 404 when installing:

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

  2. If specifying a version, ensure it uses the v prefix (for example, v1.1.5 not 1.1.5)

  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, re-run jf plugin install <plugin-name> and immediately apply the fix above 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 OS.

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


What’s Next

Want to create your own? Learn how to publish a plugin to your registry.