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.

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.During the beta, only one free private channel is allowed per organization.
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.
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.
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:

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.