Slow Conda solves can block environment creation, package installs, and updates long before any files are changed. Enabling the libmamba solver tells Conda to use the newer dependency resolver for package decisions instead of the older classic solver.

Recent Conda releases already use libmamba by default, but older installations or explicit .condarc settings can still point to classic. The active value is visible through conda config and conda info, so check the current solver before changing a shared workstation or build runner.

The conda-libmamba-solver package must be present in the base environment because Conda loads solver plugins from there. conda config --set solver libmamba writes the setting to the user .condarc by default, and new Conda commands read the setting without restarting the shell.

Steps to enable the libmamba Conda solver:

  1. Check the current solver setting.
    $ conda config --show solver
    solver: classic

    If the output already shows solver: libmamba, skip the change step and run the smoke test to confirm Conda can still solve a package request.

  2. Check whether the libmamba solver plugin is installed in base.
    $ conda list --name base conda-libmamba-solver
    # packages in environment at /opt/conda:
    #
    # Name                     Version          Build            Channel
    conda-libmamba-solver      26.4.0           pyh3785b3c_0
  3. Install the solver plugin if the package row is missing.
    $ conda install --name base conda-libmamba-solver

    If Conda stops with CondaToSNonInteractiveError on Anaconda channels, review the listed channel URLs and accept the required Terms of Service or install the package from an approved channel before continuing.

  4. Set libmamba as the default solver.
    $ conda config --set solver libmamba
  5. Confirm the saved solver setting.
    $ conda config --show solver
    solver: libmamba
  6. Inspect the configuration source if the active value is not the expected one.
    $ conda config --show-sources
    ==> /home/user/.condarc <==
    channels:
      - defaults
    solver: libmamba

    Multiple files can appear in this output. A later file or environment-specific setting can override an earlier solver value.

  7. Confirm the runtime solver reported by Conda.
    $ conda info
    
         active environment : None
              conda version : 26.3.2
                     solver : libmamba (default)
    ##### snipped #####
  8. Run a dry-run solve with the enabled solver.
    $ conda create --dry-run --name solver-smoke --override-channels --channel conda-forge zlib
    Channels:
     - conda-forge
    Platform: linux-64
    Collecting package metadata (repodata.json): done
    Solving environment: done
    
    DryRunExit: Dry run. Exiting.
    
    ## Package Plan ##
    
      environment location: /opt/conda/envs/solver-smoke
    
      added / updated specs:
        - zlib
    
    The following NEW packages will be INSTALLED:
    
      libzlib            conda-forge/linux-64::libzlib-1.3.2-hdc9db2a_2
      zlib               conda-forge/linux-64::zlib-1.3.2-hdc9db2a_2

    The dry run does not create the solver-smoke environment. The explicit conda-forge channel keeps the smoke test independent of Anaconda channel Terms of Service prompts.
    Related: How to enable conda-forge in Conda