diff --git a/scripts/cmake/ConanSetup.cmake b/scripts/cmake/ConanSetup.cmake
index 916322ab4c7108cb8dd380ad5c573a7a76bb3cf3..13950af348cfc38ad19beb56f6093d33205886fa 100644
--- a/scripts/cmake/ConanSetup.cmake
+++ b/scripts/cmake/ConanSetup.cmake
@@ -1,7 +1,14 @@
 if(NOT OGS_USE_CONAN)
     return()
 endif()
-find_program(CONAN_CMD conan)
+string(TOLOWER ${OGS_USE_CONAN} OGS_USE_CONAN_lower)
+if(OGS_USE_CONAN_lower STREQUAL "auto" AND POETRY)
+    execute_process(
+        COMMAND poetry add conan=${ogs.minimum_version.conan}
+        WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
+    )
+endif()
+find_program(CONAN_CMD conan HINTS ${PROJECT_BINARY_DIR}/.venv/bin)
 if(NOT CONAN_CMD)
     message(WARNING "conan executable not found. Consider installing Conan for "
         "automatic third-party library handling. https://www.opengeosys.org/doc"