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

# Using the main-x channel

export const TroubleshootSolution = ({children}) => <>
    <hr className="my-3 w-full" />
    <details className="mt-3">
      <summary className="cursor-pointer font-semibold text-base mb-1">
        Solution
      </summary>
      <div className="mt-2 ml-4" data-component-part="step-content">
        {children}
      </div>
    </details>
  </>;

export const TroubleshootCause = ({children}) => <details className="mt-3 mb-2">
    <summary className="cursor-pointer font-semibold text-base mb-1">
      Cause
    </summary>
    <div className="mt-2 ml-4" data-component-part="step-content">
      {children}
    </div>
  </details>;

export const TroubleshootTitle = ({children}) => <>
    <p className="m-0 font-semibold text-xl leading-tight mb-2" role="heading" aria-level={3}>
      {children}
    </p>
    <hr className="my-3 w-full" />
  </>;

export const Troubleshoot = ({children}) => <div className="callout my-4 px-5 py-4 overflow-hidden rounded-2xl flex gap-3 border troubleshoot-admonition dark:troubleshoot-admonition" data-callout-type="troubleshoot">
    <div className="mt-0.5 w-4">
      <svg width="14" height="14" viewBox="0 0 640 640" fill="currentColor" className="w-4 h-4" aria-label="Troubleshoot">
        <path d="M541.4 162.6C549 155 561.7 156.9 565.5 166.9C572.3 184.6 576 203.9 576 224C576 312.4 504.4 384 416 384C398.5 384 381.6 381.2 365.8 376L178.9 562.9C150.8 591 105.2 591 77.1 562.9C49 534.8 49 489.2 77.1 461.1L264 274.2C258.8 258.4 256 241.6 256 224C256 135.6 327.6 64 416 64C436.1 64 455.4 67.7 473.1 74.5C483.1 78.3 484.9 91 477.4 98.6L388.7 187.3C385.7 190.3 384 194.4 384 198.6L384 240C384 248.8 391.2 256 400 256L441.4 256C445.6 256 449.7 254.3 452.7 251.3L541.4 162.6z" />
      </svg>
    </div>
    <div className="prose min-w-0 w-full">{children}</div>
  </div>;

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

`main-x` is a new, Anaconda-hosted <Tooltip tip="A location (URL or file path) in a repository where conda looks for packages.">channel</Tooltip> that provides about 6,000 additional conda packages built by Anaconda for users who have [created a free account on anaconda.com](https://auth.anaconda.com/ui/registration/7dc50201-417b-43ce-a64d-2e41df2afb9e). It is designed to be used alongside Anaconda's `main` channel, not replace it.

## Setting up `main-x`

<Note>
  If you belong to an organization with a paid plan, separate access instructions are provided below.

  * [Accessing `main-x` for Anaconda Platform](#accessing-main-x-for-anaconda-platform)
  * [Accessing `main-x` for Package Security Manager](#accessing-main-x-for-package-security-manager)
</Note>

The following steps assume you have conda installed on your machine and have created an [anaconda.com account](https://auth.anaconda.com/ui/registration/7dc50201-417b-43ce-a64d-2e41df2afb9e).

### Configuration

1. Open [Anaconda Prompt](/docs/reference/glossary#anaconda-prompt) (Terminal on macOS/Linux) and log into your Anaconda account:

   ```bash theme={null}
   anaconda login
   ```

2. Complete the sign-in process using the browser window that opens. Once signed in, close your browser tab and return to your terminal.

3. Add `main-x` to the top of your default channels list:

   ```bash theme={null}
   conda config --add default_channels https://repo.anaconda.cloud/repo/main-x
   ```

   This gives `main-x` top priority when conda searches for packages to install.

### Verify the channel is working

1. Confirm that `main-x` appears at the top of your default channels:

   ```bash theme={null}
   conda config --show default_channels
   ```

   You should see something like this:

   ```yaml theme={null}
   channels:
     - defaults
   default_channels:
     - https://repo.anaconda.cloud/repo/main-x
     - https://repo.anaconda.cloud/repo/main
   ```

2. Install a package from `main-x` to confirm everything is working:

   <Note>
     Browse packages on `main-x` at [https://anaconda.org/channels/main-x](https://anaconda.org/channels/main-x).
   </Note>

   ```bash theme={null}
   conda install <PACKAGE_NAME>
   ```

   <Comments>
     Replace \<PACKAGE\_NAME> with the name of the package you want to install.
   </Comments>

## Accessing `main-x` for Anaconda Platform

`main-x` is natively available to all Anaconda Platform users.

Add the channel to your `.condarc` file's `default_channels` list:

```sh theme={null}
conda config --add default_channels https://repo.anaconda.cloud/repo/main-x
```

## Accessing `main-x` for Package Security Manager

Ask your administrator to [mirror](/docs/psm-on-prem/6.8.0/admin/mirrors#conda-external-source-url) `https://repo.anaconda.cloud/repo/main-x` into your Package Security Manager instance to provide access to `main-x` for your organization. Then add the channel to your `.condarc` file's `default_channels` list:

```sh theme={null}
conda config --add default_channels https://<FQDN>/api/repo/<CHANNEL_NAME>
```

<Comments>
  Replace \<FQDN> with the fully qualified domain name of your Package Security Manager instance.<br />
  Replace \<CHANNEL\_NAME> with the name your administrator gave the mirrored `main-x` channel.
</Comments>

<Note>
  If you have a channel alias set for your Package Security Manager instance, you can use just the channel name instead of the full URL in the command above. For more information, see [Using conda with Package Security Manager](/docs/psm-on-prem/6.8.0/user/conda#conda-config-commands).
</Note>

## Known limitations

* `main-x` includes \~6,000 packages (pure Python only) that extend what's available in the `main` channel. `main-x` does not include every package in the PyPI or conda-forge catalog.
* There is no automated `.condarc` setup. Users must manually add `main-x` to their `.condarc` file.
* Packages in `main-x` do not yet have CVE or SBOM metadata available, but we are aiming to have these capabilities as we build towards General Availability.
* Service accounts for accessing the `main-x` channel are not available.
* Some packages exist in both the `main-x` and `main` channels. Users with `channel_priority: strict` might encounter a problem where conda will not install a preferred package from `main-x` if the same package exists in a higher-priority channel. Users with `channel_priority: flexible` (the default) might also be affected if the order of their channels doesn't reflect their preferred priority. See [Troubleshooting](#troubleshooting) if you run into this.

## Support

### Package requests

Anaconda is actively tracking gaps to inform how to expand its package distribution. If you need a package that isn't in `main-x`, create a post on Anaconda's [Canny board](https://anaconda.canny.io/packages-installers) under **Packages & Installers**. When creating post, include the following:

* The package name and version you need
* Details about your operating system and platform (for example, Windows 11, macOS Sonoma on Apple Silicon, Ubuntu 22.04).
* (Optional) A description of your use case

### Technical support

For technical issues, bugs, or questions about using `main-x`, [submit a support request](https://support.anaconda.com/hc/en-us/requests/new?ticket_form_id=360000993773). When submitting a request, include the following:

* A description of the issue or question
* The command(s) you ran and the full error message (if applicable)
* Your operating system and platform (for example, Windows 11, macOS Sonoma on Apple Silicon, Ubuntu 22.04)
* Your conda version

<Accordion title="How do I find my conda version?">
  Open [Anaconda Prompt](/docs/reference/glossary#anaconda-prompt) (Terminal on macOS/Linux) and run the following:

  ```bash theme={null}
  conda --version
  ```
</Accordion>

Our support team will triage your request and send it to the appropriate team.

## FAQ

### How are the packages in main-x different from the packages in `main`?

The `main-x` channel extends `main` with approximately 6,000 additional conda packages built by Anaconda. It is designed to be used alongside `main`.

Additionally, `main-x` also currently does not offer CVE information or SBOMs for the packages it contains. We're working on these capabilities as we build towards General Availability (GA).

### When will main-x be GA?

We are aiming to move `main-x` into GA in Q3 2026, though this timeline is subject to change.

### Should I use main-x packages in production environments?

We do not recommend `main-x` packages be used in production environments while it's in Beta.

## Troubleshooting

<Troubleshoot>
  <TroubleshootTitle>
    ### `AnacondaAuthError` when running `conda install` with `main-x`
  </TroubleshootTitle>

  <TroubleshootCause>
    Versions of `anaconda-auth` older than 0.14.4 incorrectly required a business plan token to install packages from `main-x`.
  </TroubleshootCause>

  <TroubleshootSolution>
    1. Open [Anaconda Prompt](/docs/reference/glossary#anaconda-prompt) (Terminal on macOS/Linux).
    2. Update `anaconda-auth` to the latest version:

       ```sh theme={null} theme={null} theme={null}
       conda update --name base anaconda-auth
       ```
  </TroubleshootSolution>
</Troubleshoot>

<Troubleshoot>
  <TroubleshootTitle>
    ### Error while loading conda entry point: conda-env-log
  </TroubleshootTitle>

  <TroubleshootCause>
    The `anaconda-env-log` package, used for environment logging, currently imports `is_conda_environment` from `conda.gateways.disk.test`. This was changed to `is_environment` in conda 26.3.0, so users with a conda version of 26.3.0 or later will see `Error while loading conda entry point: conda-env-log` after every conda command.

    This is a known issue and will be fixed in a subsequent release.
  </TroubleshootCause>

  <TroubleshootSolution>
    The workaround for this issue is to downgrade your conda version to 26.1.1.

    ```sh theme={null} theme={null} theme={null}
    conda install --name base conda=26.1.1
    ```

    To prevent conda from being upgraded again before the fix is released, you can also pin the version to your `base` environment's pinned file:

    1. Navigate to `<CONDA_INSTALL_FOLDER>/conda-meta`.

           <Note>
             Your conda install folder is typically in file locations like:

             * `C:\Users\<USERNAME>\anaconda3`
             * `~/anaconda3`
             * `/opt/anaconda3`

             You can also replace `anaconda3` with `miniconda3` in any of these paths.
           </Note>

    2. Locate the `pinned` file in your `conda-meta` folder or create a new file named `pinned` if it doesn't exist. The `pinned` file has no extension.

    3. Add `conda==26.1.1` to the pinned file.

    Once the fix is available, remove this pin and update conda.
  </TroubleshootSolution>
</Troubleshoot>

<Troubleshoot>
  <TroubleshootTitle>
    ### A package from `main-x` is not installing as expected
  </TroubleshootTitle>

  <TroubleshootCause>
    Some packages exist in both `main-x` and `main`. If `main-x` is added as a standalone entry in your `channels:` list, conda treats it as a separate channel that competes for priority with `main`.

    * With `channel_priority: strict`, conda will not pull from `main-x` if the same package name exists in a higher-priority channel.

    * With `channel_priority: flexible` (the default), the solver may still prefer `main` depending on your channel ordering.
  </TroubleshootCause>

  <TroubleshootSolution>
    `main-x` and `main` are designed to be used together as a unified set of Anaconda-curated packages (`main-x` *extends* `main`). If your goal is to prioritize Anaconda-curated packages, instead of listing `main-x` as a standalone channel, add it and `main` to `default_channels:` in your `.condarc` file. For instructions on locating your `.condarc` file, see [Configuring channels](/docs/getting-started/working-with-conda/channels#configuring-channels).

    ```yaml highlight={3-5} theme={null} theme={null} theme={null}
    channels:
      - defaults
    default_channels:
      - https://repo.anaconda.cloud/repo/main-x
      - https://repo.anaconda.com/pkgs/main
    ```

    This adds `main-x` to `defaults` so that it is treated as the same priority level as `main`, regardless of your `channel_priority` setting.<br /><br />

    Run `conda config --show channels` afterward to confirm that `main-x` no longer appears as a separate channel in your `channels:` list.
  </TroubleshootSolution>
</Troubleshoot>
