> ## Documentation Index
> Fetch the complete documentation index at: https://anaconda.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# What is the solver?

One of the main features of conda is its ability to manage software packages and their [dependencies](/docs/getting-started/concepts/what-is-a-dependency). Dependency management can become complicated when a package has many dependencies, each with their own version constraints. Conda uses something called its *dependency solver*, an algorithm that determines which versions of which packages need to be installed to satisfy (or solve) all the dependencies without version conflicts.

When installing a package, the solver looks at the package specification for the primary package and for each one of its dependencies (and their dependencies, and so on) to determine which package versions can work together.

For advice on fixing solver errors, see [Managing solver errors](/docs/getting-started/working-with-conda/packages/solver-errors).
