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

  1. Run with --stacktrace to inspect the wrapped root cause.
  2. Verify network/proxy configuration for reaching registry.quarkus.io.
  3. Ensure enforcedPlatform('io.quarkus.platform:quarkus-bom:<version>') is declared with a valid version.
  4. Retry after clearing stale caches: ./gradlew --refresh-dependencies listExtensions.
  5. 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

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


AI-assisted analysis of quarkusio/quarkus@e1c734241f (2026-09-05). Data as JSON: /api/errors/29a71778ddcc3110. Report an issue: GitHub.