conda-config
Configure Conda settings
TLDR
Show all configuration values
Show current value of a configuration option
Set a configuration value
Remove a configuration value
Append a value to an existing configuration key list
Prepend a value to an existing configuration key list
Describe given configuration option
SYNOPSIS
conda config [--add KEY VALUE] [--append KEY VALUE] [--create-key-if-missing] [--description] [--file FILE] [--get KEY] [--get-key KEY] [--prepend KEY VALUE] [--remove KEY VALUE] [--remove-key KEY] [--set KEY VALUE] [--show] [--show-sources] [--system] [--validate] [--write-default] [-v | -q | --json]
PARAMETERS
--add KEY VALUE
Add a VALUE to a list key, such as channels.
--append KEY VALUE
Append a VALUE to a list key (deprecated; use --add).
--create-key-if-missing
Create the key if it does not exist (used with --set).
--description
Show description of a configuration parameter.
--file FILE, -f FILE
Specify configuration file location (default: ~/.condarc).
--get KEY
Retrieve the value of a configuration key.
--get-key KEY
Alias for --get (deprecated).
--prepend KEY VALUE
Prepend a VALUE to a list key (deprecated; use --add).
--remove KEY VALUE
Remove a specific VALUE from a list key.
--remove-key KEY
Delete a configuration key entirely.
--set KEY VALUE
Set or update a configuration key to VALUE.
--show
Display all current configuration values.
--show-sources
List configuration sources and their priorities.
--system
Use or show system-wide configuration file.
--validate
Validate the current configuration for errors.
--write-default
Write default configuration to .condarc.
-v, --verbose
Increase output verbosity.
-q, --quiet
Suppress non-essential output.
--json
Output in JSON format.
--help
Show help message.
DESCRIPTION
The conda config command is a powerful tool for managing Conda's configuration settings, primarily through the manipulation of the .condarc file. It allows users to view, set, add, remove, or validate configuration keys that control various aspects of conda behavior, such as channel priorities, SSL settings, package proxies, and environment variables.
Conda configurations follow a priority order: command-line options override .condarc, which overrides system-wide configs, which override built-in defaults. This ensures flexibility for users, environments, and organizations. Common use cases include adding custom channels (e.g., conda config --add channels conda-forge), setting auto-activation of environments, or disabling SSL verification for air-gapped systems.
Keys can be simple values (e.g., auto_activate_base: false) or lists (e.g., channels). List operations support append/prepend/add/remove for precise control. Validation ensures configs are correct, preventing runtime issues. Sources can be shown to debug effective settings. This command is essential for tailoring conda to specific workflows, from development to deployment.
CAVEATS
Deprecated options like --append and --prepend redirect to --add but may be removed in future versions. Configuration priorities can lead to unexpected overrides; always use --show-sources for debugging. Changes require shell restart for some env vars.
CONFIGURATION PRIORITY
Command line > User .condarc > System config > Defaults. Use --show-sources to inspect.
COMMON EXAMPLE
conda config --add channels conda-forge --set channel_priority strict prioritizes packages from conda-forge.
HISTORY
Introduced with early conda versions around 2012 by Continuum Analytics (now Anaconda Inc.). Evolved with conda 4.x for better list handling and validation. Widely used in scientific computing for reproducible environments.
SEE ALSO
conda(1)


