MCSCF wave functions are written as linear combinations of electronic configurations, which can for example be Slater determinants (SDs) or spin-adapted configuration state functions (CSFs). The many-body wave function is then optimized to minimise the CI energy, while the molecular orbitals are self-consistently optimized under the mean field of the CI wave function. MCSCF approaches represent a highly flexible strategy that can easily be adapted to a large variety of challenging chemical systems.