{"record":{"id":"6604441f24eb6f5d","repo":"quarkusio/quarkus","slug":"failed-to-resolve-the-recommended-quarkus-extensio","errorCode":null,"errorMessage":"Failed to resolve the recommended Quarkus extension catalog from the configured extension registries","messagePattern":"Failed to resolve the recommended Quarkus extension catalog from the configured extension registries","errorType":"exception","errorClass":"RuntimeException","httpStatus":null,"severity":"error","filePath":"devtools/gradle/gradle-application-plugin/src/main/java/io/quarkus/gradle/tasks/QuarkusUpdate.java","lineNumber":165,"sourceCode":"        final QuarkusProject quarkusProject = getQuarkusProject(false);\n        final ExtensionCatalog targetCatalog;\n        try {\n            if (targetPlatformVersion != null) {\n                var targetPrimaryBom = getPrimaryBom(quarkusProject.getExtensionsCatalog());\n                targetPrimaryBom = ArtifactCoords.pom(targetPrimaryBom.getGroupId(), targetPrimaryBom.getArtifactId(),\n                        targetPlatformVersion);\n                targetCatalog = getExtensionCatalogResolver(quarkusProject.log())\n                        .resolveExtensionCatalog(List.of(targetPrimaryBom));\n            } else if (targetStreamId != null) {\n                var platformStream = PlatformStreamCoords.fromString(targetStreamId);\n                targetCatalog = getExtensionCatalogResolver(quarkusProject.log()).resolveExtensionCatalog(platformStream);\n                targetPlatformVersion = getPrimaryBom(targetCatalog).getVersion();\n            } else {\n                targetCatalog = getExtensionCatalogResolver(quarkusProject.log()).resolveExtensionCatalog();\n                targetPlatformVersion = getPrimaryBom(targetCatalog).getVersion();\n            }\n        } catch (RegistryResolutionException e) {\n            throw new RuntimeException(\n                    \"Failed to resolve the recommended Quarkus extension catalog from the configured extension registries\", e);\n        }\n\n        final UpdateProject invoker = new UpdateProject(quarkusProject);\n        invoker.targetCatalog(targetCatalog);\n        if (rewriteQuarkusUpdateRecipes != null) {\n            invoker.rewriteQuarkusUpdateRecipes(rewriteQuarkusUpdateRecipes);\n        }\n        if (rewriteAdditionalUpdateRecipes != null) {\n            invoker.rewriteAdditionalUpdateRecipes(rewriteAdditionalUpdateRecipes);\n        }\n        if (rewritePluginVersion != null) {\n            invoker.rewritePluginVersion(rewritePluginVersion);\n        }\n        invoker.targetPlatformVersion(targetPlatformVersion);\n        invoker.rewriteDryRun(rewriteDryRun);\n\n        // backward compat","sourceCodeStart":147,"sourceCodeEnd":183,"githubUrl":"https://github.com/quarkusio/quarkus/blob/e1c734241f34c7919086ceb4c9262b4a58f6de44/devtools/gradle/gradle-application-plugin/src/main/java/io/quarkus/gradle/tasks/QuarkusUpdate.java#L147-L183","documentation":"The quarkusUpdate Gradle task resolves the recommended Quarkus extension catalog from the configured extension registries (e.g. registry.quarkus.io) via ExtensionCatalogResolver. This RuntimeException wraps RegistryResolutionException thrown when the registries cannot be reached or return invalid data, so the update recommendations cannot be computed.","triggerScenarios":"Running ./gradlew quarkusUpdate when the configured registries are unreachable (no network, proxy/firewall blocking), a registry URL in quarkus.registries is wrong, the registry returns HTTP errors (4xx/5xx), or the local registry cache is corrupt.","commonSituations":"Corporate proxy blocking registry.quarkus.io; offline/air-gapped environment; typos in io.quarkus.registry.quarkus-registry-descriptor config; registry service outage; stale io.quarkus.registry client version incompatible with the registry response.","solutions":["Check network connectivity to the configured registry (curl the registry URL from the same machine).","Fix quarkus registry configuration (quarkus.registries in ~/.quarkus/config.yaml or project config).","Clear the local registry cache (~/.quarkus/registry) and retry.","Configure proxy settings (HTTPS_PROXY / registry client proxy config) if behind a corporate proxy.","Verify the io.quarkus.registry:quarkus-registry-client version matches the Quarkus version in use."],"exampleFix":null,"handlingStrategy":"retry","validationCode":"curl -fsS https://registry.quarkus.io/ >/dev/null && echo registry reachable\n# and verify registry config:\ncat ~/.quarkus/config.yaml 2>/dev/null | grep -A3 registries","typeGuard":null,"tryCatchPattern":"try {\n    ./gradlew quarkusUpdate\n} catch (RuntimeException e) {\n    if (e.getMessage().startsWith(\"Failed to resolve the recommended Quarkus extension catalog\")) {\n        // check network/proxy, clear ~/.quarkus/registry cache, retry\n    }\n}","preventionTips":["Verify registry connectivity/proxy settings before running update tasks in CI","Keep the quarkus-registry-client version in sync with your Quarkus version","Periodically clear the local registry cache (~/.quarkus/registry)","Configure registry mirrors for air-gapped environments"],"tags":["gradle","network","registry","resolution"],"backgroundTag":"registry-resolution-failed","analyzedSha":"e1c734241f34c7919086ceb4c9262b4a58f6de44","analyzedAt":"2026-09-05T17:01:29.979Z","contentChangedAt":"2026-09-05T17:01:29.979Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}