2026, Jan 04 07:00

Fixing 'cannot import name Spinner' in conda-libmamba-solver: version mismatch and downgrade guide

Fix conda-libmamba-solver entry point error: cannot import name Spinner from conda.common.io. Align versions—downgrade conda to 25.7.0. Test via --dry-run.

Hitting an error right after setting up a fresh Linux environment can be unsettling, especially when it’s your first day. If you’re seeing “cannot import name 'Spinner' from 'conda.common.io'” when conda tries to load the conda-libmamba-solver entry point, the problem isn’t your Linux Mint, Python, or VSCodium setup. It’s a version mismatch between conda and the solver plugin.

Symptom

Error while loading conda entry point: 
conda-libmamba-solver (cannot import name 'Spinner' from 'conda.common.io' 
(/home/<MyName>/.local/conda/lib/python3.12/site-packages/conda/common/io.py))

What’s going on

The failure happens when conda-libmamba-solver tries to import Spinner from conda.common.io. In recent conda versions, that symbol isn’t available anymore. According to the project history, Spinner was deprecated starting with 25.3 and is absent by 25.9.0. For reference, conda.common.io.Spinner exists in 25.7.0, but not in 25.9.0. The solver codebase has already switched to conda.reporters.get_spinner, so newer releases won’t rely on Spinner. If your installed conda is new enough to have removed Spinner while the installed solver still expects it, you’ll see this import error. That also explains why just switching to the classic solver didn’t eliminate the message—the missing symbol lives in conda/common/io.py, not in the solver itself.

If you prefer not to wait for a solver build that uses conda.reporters.get_spinner, you can temporarily align versions by installing an older conda that still provides Spinner.

Fix

Revert conda to a version where Spinner is still present (for example, 25.7.0). This pins conda in the base environment and uses the classic solver for the operation:

conda install -n base -c conda-forge conda=25.7.0 --solver classic

When a newer conda or solver release appears, you can safely probe the update without changing anything by using a dry run:

conda update -n base -c conda-forge --dry-run conda

Why this matters

Conda and its ecosystem evolve rapidly. Small API shifts—like removing Spinner—can surface as entry point import errors when one component updates faster than another. Understanding that the issue stems from incompatible versions, not a broken OS or Python installation, saves time and avoids unnecessary reinstallation. Using --dry-run helps validate upgrades before they touch your working setup.

Takeaways

If you see “cannot import name 'Spinner' from 'conda.common.io'” while using conda-libmamba-solver, align versions by installing a conda release that still includes Spinner (e.g., 25.7.0). Keep an eye on subsequent releases—both conda and conda-libmamba-solver have already moved toward conda.reporters.get_spinner—and test updates with --dry-run before committing. If you prefer, you can wait for a new solver release that no longer depends on Spinner, or explore installing it from the repository once the change is available.