Skip to main content
Private channels let you distribute conda or wheel packages to specific people without making them publicly available. You create a private channel under an organization, upload packages to it, and then share access with collaborators using the CLI. Only users you explicitly share the channel with can see or install its packages.
Private channels are distinct from private packages, a legacy feature of Anaconda.org that restricts access to individual packages using tokens. Instead, private channels restrict access to an entire channel using a collaborator-based sharing model.
The following limitations apply during the beta:
  • Channel namespaces must start with a lowercase letter and use only lowercase letters, numbers, underscores, and hyphens (up to 63 characters). To distribute packages from an account whose username does not match these rules, create the channel under an organization instead.
  • The number of private channels allowed per organization depends on your subscription plan: one for Free, three for Starter, and ten for Business.
  • Only organization admins can create private channels.
  • Creating a private channel in a personal namespace is available through the CLI only. On Anaconda.org, you can create private channels under an organization only.
  • Uploading packages to and deleting packages from a channel are available through the CLI only. The Anaconda.org interface is read-only for channels.
  • The declared package type must match the uploaded file’s format. If the --package-type <TYPE> value does not match the file’s actual format, the upload fails with a generic RepoCoreError: Something went wrong message. Before uploading, verify that the declared type matches the file. See the anaconda channel upload reference.

Before you begin

  1. Install or update anaconda-client to version 1.15.0 or later:
  2. Log in to Anaconda:

Creating a private channel

Private channels live under an organization namespace. If you use your username as the namespace in the CLI, an organization is created for you automatically. On Anaconda.org, you must select an existing organization. See Known limitations for additional restrictions.
To create a private channel, run:
For the full list of options, see the anaconda channel create reference.

Uploading packages

To upload packages to your private channel, run:
Do not mix conda packages and Python wheel packages in the same channel. Mixing package types in a single channel can cause dependency resolution failures during installation. Create separate channels for conda packages and wheel packages.
For the full list of options, see the anaconda channel upload reference.

Sharing a channel

Access to a private channel is not automatic. Organization membership alone does not grant channel access. You must explicitly share the channel with each collaborator.
During the beta, channel sharing is available through the CLI only and only two additional collaborators are allowed per private channel. See Known limitations for additional restrictions.
To share a channel with a user, run:
By default, shared users receive viewer (read-only) access. To grant write access so a collaborator can upload packages, specify the --role option:
Collaborators receive an email notification when you share a channel with them.

Revoking access

To revoke a user’s access to a channel, use the --unshare flag:

Roles

For the full list of options, see the anaconda channel share reference.

Managing channels

Listing your channels

You can view your channels from the CLI or on Anaconda.org.
During the beta, the Anaconda.org view is read-only and does not support filtering. See Known limitations for additional restrictions.
To see all channels you own or have access to, run:
This displays both public and private channels across Anaconda.org and Anaconda.com. To view only your Anaconda.org channels, filter by source:
For the full list of options, see the anaconda channel list reference.

Viewing channel details

The CLI provides the most complete channel information during the beta. The Anaconda.org overview page shows basic details only.
To display information about a specific channel, including its privacy setting, artifact count, and download count, run:
For the full list of options, see the anaconda channel show reference.

Changing channel privacy

To switch a channel between public and private, run:
For the full list of options, see the anaconda channel modify reference.

Removing a channel

To permanently remove a channel and all of its packages, run:
Removing a channel deletes all packages and artifacts in that channel. This action cannot be undone. Only channel owners can remove a channel or delete a package from a channel.
For the full list of options, see the anaconda channel remove reference.

Installing packages from a private channel

Before you can install packages from a private channel, you must be logged in to Anaconda and have been granted access to the channel:

Configuring conda for private channels

During the beta, you must add the following to your .condarc file to enable authentication for private channels:
See Known limitations for additional restrictions.

Installing a package

To install a package from your private channel, run:
If your private channel contains a package that also exists on a default channel (such as main) and you want to force installation from the private channel, add the --override-channels flag:
The --override-channels flag is not necessary when installing custom packages that only exist in a private channel.