conda-anaconda-tos).
conda-anaconda-tos augments the existing conda workflow by automatically prompting you to accept the TOS for a given channel when necessary. conda-anaconda-tos is triggered any time you run a conda command that interacts with channels (for example, using conda create, conda search, conda install, and so on), but is meant to be unobtrusive to your work. For more information on conda-anaconda-tos, see the plugin’s GitHub repository.
If you have an enterprise license agreement with Anaconda, that agreement governs your use of the applicable Anaconda products and supersedes any terms presented to your licensed users through the plugin during your subscription term.
Installing conda-anaconda-tos
conda-anaconda-tos was added to Anaconda installers in:- Anaconda Distribution 2025.06-0
- Miniconda 25.1-1-0
conda-anaconda-tos in your (base) environment. If you’re unsure if you have conda-anaconda-tos in your (base) environment, you can check by running the following command:
conda-anaconda-tos into your (base) environment by running the following command:
If you are using the protected base installer, install
conda-anaconda-tos using the conda self command instead:An example user interaction
Let’s assume you’ve recently installed the latest version of Miniconda and want to create an environment to install the packagepandas. Your command might look like:
https://repo.anaconda.com/pkgs/mainhttps://repo.anaconda.com/pkgs/r(End of Support as of November 2025)https://repo.anaconda.com/pkgs/msys2(End of Support as of September 2026)
conda-anaconda-tos gathers all of the channels in your .condarc file and reviews them to see if they require you to accept a TOS to use them. For each channel that requires a TOS, you will see:
- Enter
ato accept the TOS. - Enter
rto reject the TOS. - Enter
vto display a link to a website that contains the TOS you’re being asked to accept.
Removing a channel with a rejected TOS
Rejecting a channel’s TOS prevents conda from searching for, installing, or updating packages from that channel. To prevent unnecessary errors from generating after you have rejected the TOS for a channel, remove it from your channels list:The recommended way to prevent conda from searching your default channels (If This command can also be used to add any other channel to your
main, r (End of Support as of November 2025), msys2 (End of Support as of September 2026)) is to remove the defaults channel entry with the following command:defaults is the only channel in your channels: list, conda will error. Make sure that another channel is in your channels list if you plan to remove defaults.If necessary, you can add defaults back to your channels: list by running the following command:channels: list.For more information on your .condarc file, see Configuring channels.Using conda tos commands
Whileconda-anaconda-tos automatically prompts you when a channel’s TOS needs an acceptance, the plugin also has its own set of commands for viewing and managing TOS for the channels listed in your .condarc and/or any other channels that you specify:
Viewing all command options
View all possible command options:Displaying your TOS table
Display a table of your channels and any TOS required by them:- A list of all your channels. This includes
defaultsand the channels in yourchannels:list. - For any channels that have a TOS, a timestamp for when each TOS was last updated (see Version column).
- The TOS acceptance status. If rejected, the column will display
rejected. If accepted, the column will display a timestamp for when the acceptance occurred (see Accepted column).
If a channel’s TOS is updated, its Version timestamp will also be updated. You will be asked to accept the TOS again the next time you use that channel and the Accepted timestamp for that TOS will also update in the table.
Managing TOS for all channels
By default, theconda-anaconda-tos plugin displays, accepts, and rejects the TOSes of all channels specified in the defaults and channels: lists in your .condarc file.
Display website URL links to view the text of all applicable TOS:
Managing TOS per channel
View, accept, or reject the TOS for a specific channel by running a variation of the following command:CI/CD Environments
In CI/CD environments (detected viaCI=true), the plugin will automatically accept Terms of Service and print a warning message. This ensures automated builds don’t get blocked waiting for user input.
Docker in CI/CD Environments
When using Anaconda’s Docker images in continuous integration systems, theCI environment variable might not be automatically passed to the container, which can lead to unexpected ToS prompts during your CI/CD workflows.
Anaconda recommends passing the CONDA_PLUGINS_AUTO_ACCEPT_TOS environment variable to Docker or explicitly accepting the ToS by running conda tos accept:
-
Pass the
CONDA_PLUGINS_AUTO_ACCEPT_TOSenvironment variable to Docker using the Docker CLI: -
Explicitly accept ToS in your Docker command using the Docker CLI:
Docker Containers in GitHub Actions
Similarly, when using Docker containers in GitHub Actions, theCI environment variable will not be automatically passed.
-
Pass the
CONDA_PLUGINS_AUTO_ACCEPT_TOSenvironment variable to Docker: -
Explicitly accept ToS in your Docker command:
Service containers and composite actions in GitHub Actions also inherit the runner’s environment, including the
CI variable. However, manually invoked Docker commands within steps do not automatically inherit these variables.