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

# Update the CLI

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>;

Keep ana up to date, check available versions, and submit feedback.

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

<Comments>
  Replace \<COMMAND> with a command from the following table.
</Comments>

## Commands

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

  <GBody>
    <GRow><GCell>`update`</GCell><GCell>Update ana or check available versions</GCell></GRow>
    <GRow><GCell>`feedback`</GCell><GCell>Open GitHub to report a bug or request a feature</GCell></GRow>
    <GRow><GCell>`user-agent`</GCell><GCell>Show the information ana uses to identify its HTTP requests</GCell></GRow>
  </GBody>
</GTable>

## Update options

The update command accepts these options. You can also name a specific version, as shown in the examples below.

```sh theme={null}
ana self update [OPTIONS]
```

<GTable cols="30% 70%">
  <GHead><GRow><GTH>Option</GTH><GTH>Description</GTH></GRow></GHead>

  <GBody>
    <GRow><GCell>`--check`</GCell><GCell>Check for an update and ask whether to install it</GCell></GRow>
    <GRow><GCell>`--list`</GCell><GCell>List available versions without installing</GCell></GRow>
    <GRow><GCell>`--force`</GCell><GCell>Reinstall a specified version even if it is already installed</GCell></GRow>
    <GRow><GCell>`--help`</GCell><GCell>Show command help</GCell></GRow>
  </GBody>
</GTable>

Use `--check` and `--list` separately. Do not combine either with a version or `--force`.

## Examples

### Update to the latest version

To install the latest version, run:

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

If an update is available, ana installs it without asking for confirmation. It then updates eligible [managed tools](/docs/cli-reference/anaconda-cli/tools#update-tools).

### Update to a specific version

To see which versions are available, run:

```sh theme={null}
ana self update --list
```

Then, install the version you want:

```sh theme={null}
ana self update <VERSION>
```

<Comments>
  Replace \<VERSION> with a version shown in the list, with or without the `v` prefix.
</Comments>

If that version is already installed, ana leaves it unchanged. To reinstall it, use:

```sh theme={null}
ana self update --force <VERSION>
```

<Comments>
  Replace \<VERSION> with the version to reinstall.
</Comments>

### Check for an update

To check for an update and choose whether to install it, run:

```sh theme={null}
ana self update --check
```

<Warning>
  The confirmation defaults to **Yes**. Pressing Enter or running with empty input can install the update. Enter `n` to decline, or use `--list` if you only want to inspect available versions.
</Warning>

### Package-managed builds

If you installed ana with conda, activate its environment and update it through conda instead:

```sh theme={null}
conda update ana-cli
```

## Update settings

Ana checks for updates automatically and displays a notification when one is available. Notifications do not install updates. To turn them off, set `ANA_UPDATE_CHECK=false`.

The following optional settings control updates:

<GTable cols="25% 25% 50%">
  <GHead>
    <GRow>
      <GTH>Variable</GTH>
      <GTH>Default</GTH>
      <GTH>Purpose</GTH>
    </GRow>
  </GHead>

  <GBody>
    <GRow>
      <GCell>`ANA_UPDATE_CHECK_INTERVAL_HOURS`</GCell>
      <GCell>`24`</GCell>
      <GCell>How often to check for updates</GCell>
    </GRow>

    <GRow>
      <GCell>`ANA_UPDATE_NOTIFY_INTERVAL_HOURS`</GCell>
      <GCell>`24`</GCell>
      <GCell>How often to repeat a notification</GCell>
    </GRow>

    <GRow>
      <GCell>`ANA_SELF_UPDATE_URL`</GCell>
      <GCell>`https://anaconda.sh`</GCell>
      <GCell>Update source; set to `github` to use GitHub Releases</GCell>
    </GRow>

    <GRow>
      <GCell>`ANA_PRERELEASES`</GCell>
      <GCell>`false`</GCell>
      <GCell>Include development releases</GCell>
    </GRow>
  </GBody>
</GTable>

### Update sources and prereleases

Use the defaults for regular releases. With `ANA_PRERELEASES=true`, the default update source uses its `dev` channel; the GitHub source includes prereleases alongside regular releases. Available versions can differ between sources, so use `ana self update --list` before requesting one.

## Submit feedback

To report a bug or request a feature, run:

```sh theme={null}
ana self feedback
```

This opens the [Anaconda CLI issue chooser](https://github.com/anaconda/anaconda-cli/issues/new/choose). If `ANA_OPEN_BROWSER=false`, ana prints the link instead.

## Display the user-agent string

If you need to inspect how ana identifies its HTTP requests, run:

```sh theme={null}
ana self user-agent
```

You can add `--prefix` followed by a conda environment path to include usage information for that environment. Review the output before sharing it in a public issue.
