quarkusio/quarkus · error · GradleException
Unable to list extensions
Error message
Unable to list extensions
What it means
The QuarkusListExtensions Gradle task (./gradlew listExtensions) resolves the extension catalog and lists installed/available Quarkus extensions. Any Exception during resolution or rendering is wrapped in this GradleException. It almost always indicates the extension catalog or platform could not be resolved from the configured registries.
Source
Thrown at devtools/gradle/gradle-application-plugin/src/main/java/io/quarkus/gradle/tasks/QuarkusListExtensions.java:124
if (!fromCli) {
GradleMessageWriter log = messageWriter();
if (DEFAULT_FORMAT.equalsIgnoreCase(format)) {
log.info("");
log.info(ListExtensions.MORE_INFO_HINT, "--format=full");
}
if (!installed && (category == null || category.isBlank())) {
log.info("");
log.info(ListExtensions.FILTER_HINT, "--category=\"categoryId\"");
}
log.info("");
log.info(ListExtensions.ADD_EXTENSION_HINT,
"build.gradle", "./gradlew addExtension --extensions=\"artifactId\"");
}
} catch (Exception e) {
throw new GradleException("Unable to list extensions", e);
}
}
}
View on GitHub (pinned to e1c734241f)
Solutions
- Run with --stacktrace to inspect the wrapped root cause.
- Verify network/proxy configuration for reaching registry.quarkus.io.
- Ensure enforcedPlatform('io.quarkus.platform:quarkus-bom:<version>') is declared with a valid version.
- Retry after clearing stale caches: ./gradlew --refresh-dependencies listExtensions.
- Configure an internal mirror registry if operating behind a firewall.
Example fix
// before: wrong platform version
implementation enforcedPlatform('io.quarkus.platform:quarkus-bom:999-nonexistent')
// after
implementation enforcedPlatform('io.quarkus.platform:quarkus-bom:3.15.0') Defensive patterns
Strategy: retry
Validate before calling
// Validate network + platform before listing extensions
curl -fsSL https://registry.quarkus.io/ > /dev/null && \
grep -q "enforcedPlatform('io.quarkus.platform:quarkus-bom:" build.gradle && echo "OK" || echo "registry or platform BOM missing" Try / catch
try {
./gradlew listExtensions
} catch (GradleException e) {
if (e.getMessage().equals("Unable to list extensions")) {
// check --stacktrace cause; fix network/proxy or BOM version, retry with --refresh-dependencies
}
} Prevention
- Keep the quarkus-bom version current and correctly spelled.
- Set proxy/firewall exceptions for registry.quarkus.io in CI.
- Avoid --offline without a previously warmed catalog cache.
- Pin platform versions instead of using dynamic versions like LATEST.
When it happens
Trigger: Running ./gradlew listExtensions when catalog/platform resolution throws: unreachable registry, invalid platform coordinates, or broken application model; raised in QuarkusListExtensions.listExtensions.
Common situations: No internet access or proxy-blocked registry.quarkus.io; incorrect or missing quarkus BOM/enforcedPlatform; version typos in the platform dependency; CI sandboxes without egress.
Related errors
- Unable to list extension categories
- Failed to resolve extension catalog
- Unable to list platforms
- Failed to initialize Quarkus extension catalog resolver
- Failed to resolve the recommended Quarkus extension catalog
AI-assisted analysis of quarkusio/quarkus@e1c734241f (2026-09-05).
Data as JSON: /api/errors/29a71778ddcc3110.
Report an issue: GitHub.