Manage features and scopes#
Inspect the feature at the scope you want to change:
conda feature list --user
conda feature explain FEATURE --user
conda feature enable FEATURE --user --dry-run
Replace FEATURE with an ID returned by list. Feature IDs identify capabilities, not necessarily package names. The provider decides which scopes it supports.
Choose the destination#
Selection |
Configuration destination |
What it does not select |
|---|---|---|
|
Conda’s user configuration destination |
Every user’s configuration |
|
|
A machine-wide service or privileged installation mode |
|
|
Where deployment prerequisite packages are installed |
|
A standalone user-scope configuration file |
An isolated home, shell profile, or conda runtime |
The scope flags are mutually exclusive. An explicit file must be named .condarc, condarc, or have a YAML extension, and its parent directory must exist. --prefix requires an environment with a conda-meta directory. This command does not create environments.
For normal scopes, conda determines configuration precedence. Another file or an environment variable can override a saved value. --file reads the selected file plus environment-variable overrides. Ordinary conda invocations will not automatically read that file later.
Enable and configure#
The demo changes the completion provider’s shell setting in a temporary configuration file. It does not edit shell startup files.

conda feature enable FEATURE --prefix /path/to/environment --dry-run
conda feature enable FEATURE --prefix /path/to/environment --yes
conda feature config FEATURE --set plugins.example_limit 4 \
--prefix /path/to/environment --dry-run
The setting name above is a placeholder. Find the provider’s settings with explain, then pass each as --set KEY VALUE. Repeat --set to change several together. Conda validates their types. Only the provider’s declared non-secret scalar settings are available through this command.
Version 0.2.0 uses config --set. On release 0.1.0, use configure FEATURE KEY=VALUE instead. That syntax remains supported for existing scripts.
To inspect a setting before changing it:
conda feature config FEATURE --get --user
conda feature config FEATURE --show --user
conda feature config FEATURE --show-sources --user
conda feature config FEATURE --describe --user
conda feature config FEATURE --validate --user
--get reads saved values. --show reads the effective values after defaults and overrides. Pass setting names after either option to limit the result. --show-sources includes only the feature’s declared settings, not unrelated configuration values.
Remove a saved override to return to inherited configuration or a default:
conda feature config FEATURE --remove-key plugins.example_limit --user --dry-run
conda feature config FEATURE --remove-key plugins.example_limit --user --yes
Check the resulting value with --show, since another source or the default will now apply. Removal is refused if it would leave an enabled feature without a required setting.
Configure a step-backed deployment before enabling it. Once it has a receipt, you must disable it before changing its configuration. The receipt identifies the resources it owns, such as the shell profile used for completion, so those settings must stay consistent until cleanup finishes.
Include prerequisites explicitly#
conda feature enable FEATURE --with-dependencies --user --dry-run
The preview lists prerequisite opt-ins at the selected scope. It will not change other scopes implicitly. Already-enabled prerequisites can be inherited from user or installation configuration. The command rejects cycles and unsupported write scopes.
Combined prerequisite plans support built-in scalar settings and channels. Deploy missing package or custom shell prerequisites individually first, then retry. Planning a package installation does not make those prerequisites ready.
Protect other environments#
conda feature disable FEATURE --user \
--check-prefix /path/to/team-env \
--check-prefix /path/to/another-env --dry-run
Before making shared user or installation changes, the command inspects the current user’s registered conda environments and the hosting installation. Use --check-prefix to check another environment without writing to it. The preview lists checked environments. An enabled dependent in any of them can block disabling a shared prerequisite or introducing a conflict.
The scan skips unregistered and inaccessible environments and other users’ registries. Explicit files do not trigger registry scanning. Before applying changes, the command rechecks which sources are present and their fingerprints in case another process changed them. If the plan is stale, preview again.
Disable#
conda feature disable FEATURE --user --dry-run
conda feature disable FEATURE --user --yes
conda feature disable --all --user --dry-run
Disabling a boolean feature saves false. Disabling a step-backed feature undoes changes it owns in reverse step order. Prerequisite packages and pre-existing resources remain in place.
disable --all handles boolean-backed features only and lists deployments that need individual disable commands. It cannot disable every conda plugin. Unconditional graduated features cannot be disabled here either. Use graduation cleanup to remove their obsolete opt-ins.