quarkusio/quarkus · error · UnsupportedOperationException
Specifying a stream (--stream) requires the registry client
Error message
Specifying a stream (--stream) requires the registry client to resolve resources. Please try again with the registry client enabled (--registry-client)
What it means
RegistryClientMixin.getExtensionCatalog throws this UnsupportedOperationException when a stream (--stream) is specified but the registry client is disabled. Stream resolution requires the Quarkus registry client to resolve stream-to-platform mappings; without it the CLI cannot map a stream to concrete platform coordinates.
Source
Thrown at devtools/cli-common/src/main/java/io/quarkus/cli/common/registry/RegistryClientMixin.java:78
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)");
}
if (targetVersion.isPlatformSpecified()) {
ArtifactCoords coords = targetVersion.getPlatformBom();
return ToolsUtils.resolvePlatformDescriptorDirectly(coords.getGroupId(), coords.getArtifactId(),
coords.getVersion(), QuarkusProjectHelper.artifactResolver(), log);
}
final ExtensionCatalogResolver catalogResolver;
try {
catalogResolver = getExtensionCatalogResolver(log);
} catch (RegistryResolutionException e) {
log.warn(
"Configured Quarkus extension registries appear to be unavailable at the moment. "
+ "It should still be possible to create a project by providing the groupId:artifactId:version of the desired Quarkus platform BOM, "
+ "e.g. 'quarkus create -P "View on GitHub (pinned to e1c734241f)
Solutions
- Re-run the command with --registry-client so streams can be resolved.
- Instead of --stream, specify an exact platform version/BOM with --platform-bom or -P io.quarkus.platform:quarkus-bom:3.2.x, which doesn't need registry stream resolution.
- Check ~/.quarkus/config.yaml for a registry-client-disabled setting and remove it if you want stream support.
Example fix
// before quarkus create app com.acme:demo --stream=3.2 // after quarkus create app com.acme:demo --stream=3.2 --registry-client
Defensive patterns
Strategy: fallback
Validate before calling
// before invoking with a stream, check client enablement
if (targetVersion.isStreamSpecified() && !registryClientMixin.enabled()) {
// use explicit platform BOM instead of a stream
} Try / catch
try {
catalog = mixin.getExtensionCatalog(targetVersion, log);
} catch (UnsupportedOperationException e) {
// retry with --registry-client or with an explicit --platform-bom
} Prevention
- Always pass --registry-client when using --stream.
- Prefer explicit platform coordinates (--platform-bom) in CI where the registry client may be disabled.
- Check quarkus registry config for client-disabled flags.
When it happens
Trigger: Calling getExtensionCatalog(targetVersion, log) (via `quarkus create`/`quarkus add` with --stream=<x.y>) when --registry-client was not enabled (RegistryClientMixin.enabled() is false) and targetVersion.isStreamSpecified() is true.
Common situations: Running `quarkus create app ... -S 3.2` in environments where the registry client is disabled by default or by config (quarkus.registry disabled), e.g. some CI setups or with older CLI defaults.
Related errors
- More than one @QuarkusMain method found with name '${name}':
- Build metrics file cannot be read:
- Build report file cannot be written to:
- The specified %s identifier (%s) contains invalid characters
- Algorithm not supported:
AI-assisted analysis of quarkusio/quarkus@e1c734241f (2026-09-05).
Data as JSON: /api/errors/62da6b12b93e1d6d.
Report an issue: GitHub.