diff --git a/independent-projects/tools/base-codestarts/src/main/resources/codestarts/quarkus/buildtool/maven/base/pom.tpl.qute.xml b/independent-projects/tools/base-codestarts/src/main/resources/codestarts/quarkus/buildtool/maven/base/pom.tpl.qute.xml
index 511b172afc41b..3d32afccb8efd 100644
--- a/independent-projects/tools/base-codestarts/src/main/resources/codestarts/quarkus/buildtool/maven/base/pom.tpl.qute.xml
+++ b/independent-projects/tools/base-codestarts/src/main/resources/codestarts/quarkus/buildtool/maven/base/pom.tpl.qute.xml
@@ -140,7 +140,7 @@
build
generate-code
generate-code-tests
- {#if generate-native}
+ {#if generate-native and quarkus.platform.version.compareVersionTo("3.12") >= 0}
native-image-agent
{/if}
diff --git a/independent-projects/tools/codestarts/pom.xml b/independent-projects/tools/codestarts/pom.xml
index e93c8abfb7583..c6a726533f1b7 100644
--- a/independent-projects/tools/codestarts/pom.xml
+++ b/independent-projects/tools/codestarts/pom.xml
@@ -18,6 +18,10 @@
io.quarkus.qute
qute-core
+
+ org.apache.maven
+ maven-artifact
+
io.quarkus
quarkus-bootstrap-app-model
diff --git a/independent-projects/tools/codestarts/src/main/java/io/quarkus/devtools/codestarts/core/reader/QuteCodestartFileReader.java b/independent-projects/tools/codestarts/src/main/java/io/quarkus/devtools/codestarts/core/reader/QuteCodestartFileReader.java
index d26b1ec9774c9..aeb726fbf30e1 100644
--- a/independent-projects/tools/codestarts/src/main/java/io/quarkus/devtools/codestarts/core/reader/QuteCodestartFileReader.java
+++ b/independent-projects/tools/codestarts/src/main/java/io/quarkus/devtools/codestarts/core/reader/QuteCodestartFileReader.java
@@ -8,21 +8,12 @@
import java.util.concurrent.CompletionStage;
import org.apache.commons.io.FilenameUtils;
+import org.apache.maven.artifact.versioning.ComparableVersion;
import io.quarkus.devtools.codestarts.CodestartException;
import io.quarkus.devtools.codestarts.CodestartResource;
import io.quarkus.devtools.codestarts.CodestartResource.Source;
-import io.quarkus.qute.CompletedStage;
-import io.quarkus.qute.Engine;
-import io.quarkus.qute.EvalContext;
-import io.quarkus.qute.Expression;
-import io.quarkus.qute.ResultMapper;
-import io.quarkus.qute.Results;
-import io.quarkus.qute.TemplateException;
-import io.quarkus.qute.TemplateLocator;
-import io.quarkus.qute.TemplateNode;
-import io.quarkus.qute.ValueResolver;
-import io.quarkus.qute.Variant;
+import io.quarkus.qute.*;
final class QuteCodestartFileReader implements CodestartFileReader {
@@ -187,9 +178,21 @@ public CompletionStage