---
updatedAt: 2026-08-25T05:09:06.000Z
agentTools:
  siteIndex: https://docs.jfrog.com/llms.txt
  projectIndex: https://docs.jfrog.com/integrations/llms.txt
---

# JFrog CLI

Automate Artifactory, Xray, and Distribution workflows from your terminal.

<HTMLBlock>{`
<style>
/* =========================================
   Blue title banner (Get Started / installation hero)
   ========================================= */
.rm-Guides {
  --hero-max-width: 1200px;
  --hero-gutter: 30px;
}

header#content-head {
  background: linear-gradient(
    101.64deg,
    #0C1D37 0%,
    #0C1D37 42%,
    #1B2F4E 70%,
    #2A4061 92%
  );
  color: #fff;
  padding: 0 !important;
  border-bottom: 1px solid var(--color-border-default);
  margin: 0 0 28px 0;
}

header#content-head .row {
  max-width: var(--hero-max-width);
  margin: 0 auto;
  padding: 60px var(--hero-gutter) 70px var(--hero-gutter);
}

header#content-head .col-xs-9 {
  width: 100%;
}

header#content-head h1 {
  color: #fff;
  margin: 12px 0 14px 0;
  font-weight: 700;
  line-height: 1.15;
}

header#content-head .excerpt,
header#content-head .rm-Markdown,
header#content-head .markdown-body,
header#content-head p {
  color: #D2DFED;
  margin: 0;
  font-size: 18px;
  line-height: 1.5;
  max-width: 920px;
}

header#content-head .rm-Breadcrumb {
  display: none;
}

@media (max-width: 768px) {
  header#content-head .row {
    padding: 40px 20px;
  }

  header#content-head .excerpt,
  header#content-head p {
    font-size: 16px;
  }
}

@media (min-width: 768px) {
  .App .rm-Guides .rm-Article {
    padding: 0;
  }
}

.rm-Guides .rm-Article {
  margin-left: 0;
  margin-right: 0;
  max-width: 100%;
}

.rm-Guides #content-container {
  max-width: var(--hero-max-width);
  margin: 0 auto;
  padding: 0 var(--hero-gutter);
}

/* =========================================
   JFrog green card tiles
   ========================================= */
.green-shadow-cards .Card.Card_card {
  border: 1px solid rgba(64, 190, 70, 0.35) !important;
  box-shadow: 0 4px 16px rgba(64, 190, 70, 0.22) !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}
.green-shadow-cards .Card.Card_card:hover {
  border-color: #40be46 !important;
  box-shadow: 0 8px 24px rgba(64, 190, 70, 0.32) !important;
  transform: translateY(-2px);
}
.green-shadow-cards .Card-icon {
  color: #40be46 !important;
}
</style>
`}</HTMLBlock>

JFrog CLI is a compact and smart client that provides an interface to automate access to JFrog products, simplifies your automation scripts, and makes them more readable and easier to maintain. Start with setup, then pick the product area you need.

JFrog CLI works with JFrog Artifactory, JFrog Xray, JFrog Distribution, and JFrog Mission Control through their respective REST APIs. For authentication, token management, and plugin extensions, see [General Commands](/integrations/docs/general-commands-cli), [Access Token Management](/integrations/docs/access-token-management), and [JFrog CLI Plugins](/integrations/docs/jfrog-cli-plugins).

<Callout icon="📘" theme="info">
**Note**

You need access to a JFrog Platform instance, either a [JFrog SaaS account (free tier available)](https://jfrog.com/start-free/) or a self-managed JFrog Artifactory installation. For supported operating systems, see [System Requirements](#system-requirements).
</Callout>

## Get Started

Do these once. Then use the CLI topics for your product area.

<div class="green-shadow-cards">
  <Cards columns={3}>
    <Card title="Install the CLI" href="/integrations/docs/download-and-install-the-jfrog-cli" icon="fa-solid fa-download">
      Get `jf` on your machine, then verify it runs in your terminal
    </Card>

    <Card title="Sign in" href="/integrations/docs/authenticating-via-the-cli" icon="fa-solid fa-key">
      Connect the CLI to your JFrog Platform so commands can reach Artifactory, Xray, and Distribution
    </Card>

    <Card title="Add your server" href="/integrations/docs/configuring-the-cli" icon="fa-solid fa-gear">
      Save your platform URL and switch between servers when you need to
    </Card>
  </Cards>
</div>

***

## What Do You Want to Do?

Choose a product area. Each tile opens the CLI guide for that job.

<div class="green-shadow-cards">
  <Cards columns={2}>
    <Card title="Work with binaries" href="/artifactory/docs/binaries-management-with-jfrog-artifactory" icon="fa-solid fa-box">
      Upload, download, promote, and manage binaries and packages with Artifactory
    </Card>

    <Card title="Scan for vulnerabilities" href="/security/docs/cli" icon="fa-solid fa-shield-halved">
      Scan dependencies, binaries, and containers for security and license issues
    </Card>

    <Card title="Automate governance and lifecycle" href="/governance/docs/evidence-service-cli" icon="fa-solid fa-diagram-project">
      Attach evidence and automate promotion, distribution, and lifecycle policies
    </Card>

    <Card title="Run general commands" href="/integrations/docs/general-commands-cli" icon="fa-solid fa-terminal">
      Sign in, call REST endpoints, and generate job summaries with platform-wide commands
    </Card>

    <Card title="Manage license buckets" href="/integrations/docs/manage-license-buckets-with-jfrog-cli" icon="fa-solid fa-file-contract">
      Acquire, deploy, and release licenses in Mission Control license buckets
    </Card>

    <Card title="Extend the platform with Workers" href="/administration/docs/create-and-manage-workers#jfrog-cli" icon="fa-solid fa-users-gear">
      Initialize, test, deploy, and schedule JFrog Workers from the command line
    </Card>
  </Cards>
</div>

## Common Scenarios

Looking for something more specific? Start here.

<Table align={["left","left","left"]}>
  <thead>
    <tr>
      <th>
        If you need to…
      </th>

      <th>
        Do this
      </th>

      <th>
        Go to
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        Connect an AI agent or IDE to the JFrog Platform
      </td>

      <td>
        Run the JFrog MCP server
      </td>

      <td>
        [jf mcp](/integrations/docs/jf-mcp)
      </td>
    </tr>

    <tr>
      <td>
        Authenticate in CI without storing credentials
      </td>

      <td>
        Exchange an OIDC token for an access token
      </td>

      <td>
        [jf exchange-oidc-token](/integrations/docs/jf-exchange-oidc-token)
      </td>
    </tr>

    <tr>
      <td>
        Configure the CLI in a pipeline
      </td>

      <td>
        Set CLI environment variables
      </td>

      <td>
        [JFrog CLI Environment Variables](/integrations/docs/jfrog-cli-environment-variables)
      </td>
    </tr>

    <tr>
      <td>
        Move a self-hosted instance to the cloud
      </td>

      <td>
        Transfer files and configuration with the CLI
      </td>

      <td>
        [Migrate to JFrog SaaS](/integrations/docs/cli-for-jfrog-cloud-transfer)
      </td>
    </tr>

    <tr>
      <td>
        Add commands the CLI does not ship with
      </td>

      <td>
        Install or publish a plugin
      </td>

      <td>
        [JFrog CLI Plugins](/integrations/docs/jfrog-cli-plugins)
      </td>
    </tr>

    <tr>
      <td>
        Look up a command or flag
      </td>

      <td>
        Browse commands by product area
      </td>

      <td>
        [JFrog CLI Command Reference](/integrations/docs/jfrog-cli-command-reference)
      </td>
    </tr>
  </tbody>
</Table>

***

## Advanced Upload and Download Capabilities

JFrog CLI allows you to upload and download artifacts concurrently by a configurable number of threads that help your automated builds run faster.

For large file downloads, use the `--split-count` option to define how many parts a file is split into for parallel download (default: 3). Set `--split-count 0` to disable splitting.

For large file uploads, `--split-count` controls the maximum number of parts uploaded concurrently per file in a multi-part upload (default: 5). Set `--split-count 0` to disable multi-part upload entirely. Multi-part upload requires Artifactory configured with S3 or GCP object storage.

When you transfer many files of different sizes, use `--threads` to parallelize across files and keep multi-part settings enabled so files that exceed `--min-split` are also split. For recommended settings and examples, see [Best Practices for Uploading and Downloading Many Files](/artifactory/docs/generic-files#best-practices-for-uploading-and-downloading-many-files).

To optimize both uploads and downloads, JFrog CLI avoids transferring artifacts that already exist in the target location. Before uploading, the CLI checks the artifact's checksum with Artifactory. If the artifact is already present in Artifactory's storage, the CLI skips the upload, and Artifactory may update its database to reflect the new upload.

Similarly, when downloading an artifact, if it already exists in the specified download path, it is skipped. This checksum optimization also allows you to pause long upload and download operations and resume them later from where you left off.

JFrog CLI simplifies file uploads by supporting wildcard patterns, regular expressions, and Apache Ant patterns, so you can select all the files you want to upload. You can also use wildcard patterns for downloading files.

## Support for Popular Package Managers and Build Tools

JFrog CLI offers comprehensive support for popular package managers and build tools. It integrates with npm, pnpm, Yarn, Maven, Gradle, NuGet, .NET, Docker, Go, pip, Pipenv, Poetry, Twine, Helm, Terraform, Conan, Nix, Ruby, and more, so you can manage and publish packages across your entire build ecosystem. With [JFrog CLI Package Alias](/artifactory/docs/jfrog-cli-package-alias), you can run native package manager commands without the `jf` prefix in local shells and CI pipelines.

## Source Code and Binaries Scanning

JFrog CLI gives you scanning capabilities to help ensure the security and compliance of your source code and software artifacts, including containers. It integrates with JFrog Xray, so you can scan and analyze your projects and packages, including containers, for vulnerabilities, license compliance, and quality issues. With JFrog CLI, you can identify and mitigate potential risks and support the integrity and safety of your software supply chain.

## Support for Build-Info

Build-Info is a comprehensive metadata Software Bill of Materials (SBOM) that captures detailed information about the components used in a build. It serves as a vital source of information, containing version history, artifacts, project modules, dependencies, and other crucial data collected during the build process.

By storing this metadata in Artifactory, you gain traceability and analysis capabilities to improve the quality and security of your builds. Build-Info includes:

* Project module details
* Artifacts
* Dependencies
* Environment variables

Build-Info is collected and output in JSON format, so you can access information about the build and its components. JFrog CLI can create a Build-Info and store it in Artifactory. For the Artifactory workflow, see [Build Integration](/artifactory/docs/build-integration).

## System Requirements

JFrog CLI runs on any modern operating system including Windows, macOS, and Linux. Pre-compiled binaries are available for direct download, so you do not need to install any dependencies. Go is only required if you build the CLI from source.

***

## Contributing to JFrog CLI

JFrog CLI is an open-source project, and community contributions are welcome. Proposed changes and additions can be submitted through the <Anchor label="JFrog CLI project on GitHub" target="_blank" href="https://github.com/jfrog/jfrog-cli">JFrog CLI project on GitHub</Anchor>. For contribution requirements and guidelines, see the <Anchor label="contribution guidelines" target="_blank" href="https://github.com/jfrog/jfrog-cli/blob/master/CONTRIBUTING.md">contribution guidelines</Anchor>.

Accepted contributions are merged into the project to benefit the entire JFrog CLI community.

<br />

## Related Topics

Continue in this order when you need more of the CLI docs:

1. [JFrog CLI Quick Start](/integrations/docs/jfrog-cli-quick-start). Install, authenticate, and verify your setup end to end.
2. [General Commands](/integrations/docs/general-commands-cli). Sign in, call REST endpoints, and use commands that apply across products.
3. [JFrog CLI Command Reference](/integrations/docs/jfrog-cli-command-reference). Look up commands and flags by product area.

## Frequently Asked Questions

<Accordion title="FAQs" icon="plus">
  ##### Q: Where Do I Install and Configure JFrog CLI?

  **A:** Complete setup once: [Install JFrog CLI](/integrations/docs/download-and-install-the-jfrog-cli), [Authenticate via the JFrog CLI](/integrations/docs/authenticating-via-the-cli), then [CLI Configuration](/integrations/docs/configuring-the-cli). Product-specific CLI pages assume that setup is done. See [Get Started](#get-started).

  ##### Q: Which JFrog Products Does JFrog CLI Work With?

  **A:** JFrog CLI works with Artifactory, Xray, Distribution, and Mission Control through their REST APIs. Pick your product area in [What Do You Want to Do?](#what-do-you-want-to-do).

  ##### Q: Which Operating Systems Does JFrog CLI Support?

  **A:** Windows, macOS, and Linux. Pre-compiled binaries are available, so no dependencies are required unless you build from source. See [System Requirements](#system-requirements).

  ##### Q: How Do I Speed Up Transfers of Large Files?

  **A:** Use `--threads` to parallelize across files and `--split-count` to split large files into parts. See [Advanced Upload and Download Capabilities](#advanced-upload-and-download-capabilities).

  ##### Q: Can I Add Commands That the CLI Does Not Ship With?

  **A:** Yes. Install or publish plugins with [JFrog CLI Plugins](/integrations/docs/jfrog-cli-plugins), or contribute to the open-source project. See [Contributing to JFrog CLI](#contributing-to-jfrog-cli).
</Accordion>

<br />