Skip to content
Latchkey

Conan profile "ERROR: Invalid setting" in CI

Conan validated the active profile against its settings model and a value is not allowed. Most often the profile pins a compiler.version that Conan does not list for that compiler, or names a compiler the runner does not have.

What this error means

conan install fails with "ERROR: Invalid setting 'X' is not a valid 'settings.compiler.version' value" and prints the list of accepted values.

Conan
ERROR: Invalid setting '14' is not a valid 'settings.compiler.version' value.
Possible values are ['4.1', ..., '12', '13']
Read "http://docs.conan.io/2/knowledge/faq.html#error-invalid-setting"

Diagnose it: configure step, not the build step

Most CMake failures in CI happen during configure, where a package or compiler feature is not found, and then surface later as a confusing compile or link error.

Terminal
cmake --version && cc --version
cmake -S . -B build --debug-find 2>&1 | grep -i "not found" | head -20
cmake -S . -B build -LAH | head -40   # cache variables actually in effect

Common causes

The profile pins a version Conan does not know

The runner has a newer compiler than the Conan settings model lists, so the pinned compiler.version is rejected.

A profile written for a different compiler

The profile declares compiler=gcc on an image that only has clang, or mixes settings that do not match the installed toolchain.

How to fix it

Autodetect the profile on the runner

Let Conan build a default profile from the actual installed compiler instead of a hardcoded one.

Terminal
conan profile detect --force
conan install . --build=missing

Upgrade Conan so it knows the compiler version

A newer Conan ships an updated settings model that includes recent compiler versions.

Terminal
pip install --upgrade conan
conan profile detect --force

How to prevent it

  • Prefer conan profile detect in CI over a pinned profile that can drift from the runner.
  • Keep Conan current so its settings model matches the runner toolchain.
  • If you pin a profile, match it to the exact compiler the runner image installs.

Frequently asked questions

What causes Conan profile "ERROR: invalid setting" in CI?
There are 2 common causes: the profile pins a version conan does not know and a profile written for a different compiler. The runner has a newer compiler than the Conan settings model lists, so the pinned compiler.version is rejected.
How do I fix Conan profile "ERROR: invalid setting" in CI?
There are 2 fixes depending on which cause you have: autodetect the profile on the runner and upgrade conan so it knows the compiler version. Work through them in order, since the first is the most common.
What does Conan profile "ERROR: invalid setting" in CI actually mean?
conan install fails with "ERROR: Invalid setting 'X' is not a valid 'settings.compiler.version' value" and prints the list of accepted values.
How do I stop Conan profile "ERROR: invalid setting" in CI happening again?
Prefer conan profile detect in CI over a pinned profile that can drift from the runner. The prevention section lists 3 changes that keep it from recurring.

Related guides

References

Not every red build is your code. Latchkey repairs the ones that are not, on the runner. Start free → 30-day trial · No credit card