quarkusio/quarkus · error · UnsupportedOperationException
The version 2 CLI can not be used with Quarkus 1.x projects.
Error message
The version 2 CLI can not be used with Quarkus 1.x projects. Use the maven/gradle plugins when working with Quarkus 1.x projects.
What it means
RegistryClientMixin.createQuarkusProject resolves the extension catalog first; when the registry client validation is on and the resolved catalog reports a Quarkus core version starting with "1.", it throws this UnsupportedOperationException. The version 2 CLI cannot create projects for Quarkus 1.x platforms, which must be managed with the Maven or Gradle plugins of that era.
Source
Thrown at devtools/cli-common/src/main/java/io/quarkus/cli/common/registry/RegistryClientMixin.java:62
return config;
}
public RegistriesConfig resolveConfig() throws RegistryResolutionException {
return config == null
? RegistriesConfig.resolveConfig()
: RegistriesConfig.resolveFromFile(Path.of(config));
}
public QuarkusProject createQuarkusProject(Path projectRoot, TargetQuarkusPlatformGroup targetVersion, BuildTool buildTool,
OutputOptionMixin log) throws RegistryResolutionException {
return createQuarkusProject(projectRoot, targetVersion, buildTool, log, List.of());
}
public QuarkusProject createQuarkusProject(Path projectRoot, TargetQuarkusPlatformGroup targetVersion, BuildTool buildTool,
OutputOptionMixin log, Collection<String> extensions) throws RegistryResolutionException {
ExtensionCatalog catalog = getExtensionCatalog(targetVersion, log);
if (VALIDATE && catalog.getQuarkusCoreVersion().startsWith("1.")) {
throw new UnsupportedOperationException("The version 2 CLI can not be used with Quarkus 1.x projects.\n"
+ "Use the maven/gradle plugins when working with Quarkus 1.x projects.");
}
catalog = CreateProjectHelper.completeCatalog(catalog, extensions, QuarkusProjectHelper.artifactResolver());
return QuarkusProjectHelper.getProject(projectRoot, catalog, buildTool, JavaVersion.NA, log);
}
ExtensionCatalog getExtensionCatalog(TargetQuarkusPlatformGroup targetVersion, OutputOptionMixin log)
throws RegistryResolutionException {
log.debug("Resolving Quarkus extension catalog for " + targetVersion);
QuarkusProjectHelper.setMessageWriter(log);
if (enabled()) {
QuarkusProjectHelper.setToolsConfig(resolveConfig());
}
if (VALIDATE && targetVersion.isStreamSpecified() && !enabled()) {
throw new UnsupportedOperationException(
"Specifying a stream (--stream) requires the registry client to resolve resources. " +
"Please try again with the registry client enabled (--registry-client)");View on GitHub (pinned to e1c734241f)
Solutions
- Target a Quarkus 2.x+ platform: drop explicit 1.x platform/stream selection (e.g. remove -S 1.13 or io.quarkus.platform:quarkus-bom:1.x).
- If you truly need a 1.x project, use the Quarkus 1.x Maven/Gradle plugins to generate it instead of the v2 CLI.
- Check quarkus.registry settings (quarkus.registry.quarkus-platform-version / config in ~/.quarkus/config.yaml) for a pinned 1.x version and remove it.
Example fix
// before quarkus create app com.acme:demo --stream=1.13 // after quarkus create app com.acme:demo --stream=2.16
Defensive patterns
Strategy: validation
Validate before calling
ExtensionCatalog catalog = /* resolved via getExtensionCatalog */;
if (catalog.getQuarkusCoreVersion().startsWith("1.")) {
throw new IllegalStateException("Quarkus 1.x target; use the 1.x Maven/Gradle plugins");
} Try / catch
try {
mixin.createQuarkusProject(root, target, tool, log, extensions);
} catch (UnsupportedOperationException e) {
// fall back to 1.x plugin-based project generation
} Prevention
- Don't pin streams/platform versions to 1.x when using the v2 CLI.
- Audit ~/.quarkus/config.yaml and project parent poms for legacy platform versions.
- Migrate legacy projects to a supported Quarkus major version.
When it happens
Trigger: Calling createQuarkusProject(...) (or the `quarkus create` CLI command) with a target/platform that resolves to a Quarkus 1.x core version, e.g. a project or registry pinned to quarkus-bom 1.x.
Common situations: Maintaining a legacy Quarkus 1.x application and running `quarkus create app ...` with a stream or platform BOM pointing at 1.x; a parent pom or registry still referencing old 1.x platform coordinates.
Related errors
- Only example can be selected at a time (you can always use '
- Target directory already exists: ${path}
- ${misalignmentReport}
- Unable to deserialize the dev mode context. Does the Quarkus
- More than one @QuarkusMain method found with name '${name}':
AI-assisted analysis of quarkusio/quarkus@e1c734241f (2026-09-05).
Data as JSON: /api/errors/cab197227bdb6ca8.
Report an issue: GitHub.