> ## Documentation Index
> Fetch the complete documentation index at: https://anaconda.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Install and manage tools

export const Comments = ({children}) => {
  return <div class="my-4 px-5 py-4 overflow-hidden rounded-2xl flex gap-3 border border-zinc-500/20 bg-zinc-50/50 dark:border-zinc-500/30 dark:bg-zinc-500/10" data-callout-type="comments">
      <div class="w-4">
        <svg width="14" height="14" viewBox="0 0 640 640" fill="currentColor" xmlns="http://www.w3.org/2000/svg" class="w-5 h-5" aria-label="Comments">
            <path d="M320 112C434.9 112 528 205.1 528 320C528 434.9 434.9 528 320 528C205.1 528 112 434.9 112 320C112 205.1 205.1 112 320 112zM320 576C461.4 576 576 461.4 576 320C576 178.6 461.4 64 320 64C178.6 64 64 178.6 64 320C64 461.4 178.6 576 320 576zM280 400C266.7 400 256 410.7 256 424C256 437.3 266.7 448 280 448L360 448C373.3 448 384 437.3 384 424C384 410.7 373.3 400 360 400L352 400L352 312C352 298.7 341.3 288 328 288L280 288C266.7 288 256 298.7 256 312C256 325.3 266.7 336 280 336L304 336L304 400L280 400zM320 256C337.7 256 352 241.7 352 224C352 206.3 337.7 192 320 192C302.3 192 288 206.3 288 224C288 241.7 302.3 256 320 256z" />
        </svg>
      </div>
      <div class="text-sm prose min-w-0 w-full">
        {children}
      </div>
    </div>;
};

export const GCell = ({children, className}) => <div className={`grid-table-cell ${className || ""}`} role="cell">
    {children}
  </div>;

export const GTH = ({children, className}) => <div className={`grid-table-th ${className || ""}`} role="columnheader">
    {children}
  </div>;

export const GRow = ({children}) => <div className="grid-table-row" role="row">{children}</div>;

export const GBody = ({children}) => <div className="grid-table-body" role="rowgroup">{children}</div>;

export const GHead = ({children}) => <div className="grid-table-head" role="rowgroup">{children}</div>;

export const GTable = ({children, className, cols}) => <div className={`grid-table not-prose overflow-hidden rounded-2xl ${className || ""}`} style={{
  "--grid-table-cols": cols
}} role="table">
    {children}
  </div>;

The Anaconda CLI installs and updates companion tools for you. It can also download the Miniconda installer, which you run separately to install conda.

## Usage

```sh theme={null}
ana tool <COMMAND>
```

<Comments>
  Replace \<COMMAND> with `list`, `install`, `uninstall`, `update`, or `download`. See the examples below for tool names and options.
</Comments>

<GTable cols="30% 70%">
  <GHead>
    <GRow>
      <GTH>Command</GTH>
      <GTH>Purpose</GTH>
    </GRow>
  </GHead>

  <GBody>
    <GRow>
      <GCell>`list`</GCell>
      <GCell>Show managed tools, their installation status, and available external installers</GCell>
    </GRow>

    <GRow>
      <GCell>`install <TOOL>`</GCell>
      <GCell>Install a supported managed tool</GCell>
    </GRow>

    <GRow>
      <GCell>`uninstall <TOOL>`</GCell>
      <GCell>Remove a managed tool's environment and executable links</GCell>
    </GRow>

    <GRow>
      <GCell>`update`</GCell>
      <GCell>Update installed tools that have automatic updates enabled</GCell>
    </GRow>

    <GRow>
      <GCell>`download miniconda`</GCell>
      <GCell>Download and verify the latest Miniconda installer for the current platform</GCell>
    </GRow>
  </GBody>
</GTable>

Use `--help` with any command to display its syntax. Log in with `ana login` before managing tools. Installer downloads do not require login.

## Available managed tools

<GTable cols="20% 80%">
  <GHead>
    <GRow>
      <GTH>Tool</GTH>
      <GTH>Description</GTH>
    </GRow>
  </GHead>

  <GBody>
    <GRow>
      <GCell>`anaconda-cli`</GCell>
      <GCell>Enables `ana org` and `ana channel`. Installed by `ana bootstrap`.</GCell>
    </GRow>

    <GRow>
      <GCell>`pixi`</GCell>
      <GCell>Conda and PyPI package manager for reproducible environments</GCell>
    </GRow>

    <GRow>
      <GCell>`outerbounds`</GCell>
      <GCell>Workflow deployment tools for macOS and Linux, used by the [Outerbounds integration](/docs/cli-reference/anaconda-cli/features#outerbounds)</GCell>
    </GRow>
  </GBody>
</GTable>

Ana keeps these tools separate from your project environments.

<Note>
  In conda-packaged builds, use conda to manage companion packages. `ana tool install`, `ana tool uninstall`, and `ana tool update` are unavailable in those builds. `ana tool list` and `ana tool download miniconda` remain available.
</Note>

## List tools

To see available tools and their status, run:

```sh theme={null}
ana tool list
```

The output shows which tools ana has installed. A separate **Externally Managed Installers** table lists installers you can download, not programs already installed on your computer.

## Install a tool

To install a managed tool, run:

```sh theme={null}
ana tool install <TOOL>
```

<Comments>
  Replace \<TOOL> with `anaconda-cli`, `pixi`, or, on macOS and Linux, `outerbounds`.
</Comments>

For example, install pixi:

```sh theme={null}
ana tool install pixi
```

Installing pixi also configures its global default channel to `https://repo.anaconda.com/pkgs/main`. If pixi already has explicit default channels, ana asks before replacing them. This is separate from [enabling main-x](/docs/cli-reference/anaconda-cli/features#main-x).

Ana installs the tool version included with your CLI release. To install other packages or choose package versions, use conda or pixi directly.

## Update tools

To update installed tools, run:

```sh theme={null}
ana tool update
```

By default, this updates `anaconda-cli` and `outerbounds`, but not pixi. Set `ANA_AUTO_UPDATE_TOOLS=true` to include all installed tools, or `false` to disable tool updates. The same setting applies when you [update ana](/docs/cli-reference/anaconda-cli/self-update).

To update pixi separately, run `ana tool install pixi` again. Update ana first to get the tool versions included with the latest release. These commands do not update Miniconda.

## Uninstall a tool

To remove a tool managed by ana, run:

```sh theme={null}
ana tool uninstall <TOOL>
```

<Comments>
  Replace \<TOOL> with the name of the managed tool to remove, such as `pixi`.
</Comments>

Ana shows what it will remove and asks for confirmation. Copies installed outside ana are not affected.

To skip the confirmation prompt, use `--yes`:

```sh theme={null}
ana tool uninstall pixi --yes
```

## Download and install Miniconda

This workflow downloads the official Miniconda installer without requiring an existing Python or conda installation.

<Steps>
  <Step title="Download the installer">
    Open a terminal in the directory where you want to save the installer, then run:

    ```sh theme={null}
    ana tool download miniconda
    ```

    Ana downloads the official installer for your computer and verifies it. When you see `SHA256 verified.`, the download is ready to run.
  </Step>

  <Step title="Run the installer">
    On macOS or Linux, run the `bash` command printed by ana. For example, on Apple Silicon:

    ```sh theme={null}
    bash ./Miniconda3-latest-MacOSX-arm64.sh
    ```

    On Windows, open the downloaded `.exe` in File Explorer. From PowerShell, you can also run:

    ```powershell theme={null}
    .\Miniconda3-latest-Windows-x86_64.exe
    ```

    Follow the installer's prompts. Ana does not run the installer, accept its license terms, or select installation options for you. For platform-specific guidance, see [Install Anaconda](/docs/getting-started/installation).
  </Step>

  <Step title="Verify conda">
    Open a new terminal or, on Windows, Anaconda Prompt, then run:

    ```sh theme={null}
    conda --version
    ```

    You can now [configure package sources](/docs/cli-reference/anaconda-cli/features) and use conda to manage environments.
  </Step>
</Steps>

### Download limits

* Only `miniconda` is supported. Use `ana tool download miniconda`, not `ana tool install miniconda`.
* The command downloads the repository's `latest` installer for the current platform. It does not accept version, output-path, architecture, or overwrite options.
* If the destination file already exists, the command stops without replacing it. Move the existing file or choose a different working directory before downloading again.
* If checksum verification fails, do not run the installer. Retry the download or use the [installation guide](/docs/getting-started/installation).
* After installation, manage Miniconda separately. Ana does not track, update, or uninstall it.
