{"record":{"id":"0204a182795f6585","repo":"quarkusio/quarkus","slug":"proxy-configuration-name-was-specified-but-n","errorCode":null,"errorMessage":"Proxy configuration '${name}' was specified, but no Proxy configuration registry could be found.","messagePattern":"Proxy configuration '(.+?)' was specified, but no Proxy configuration registry could be found\\.","errorType":"exception","errorClass":"ConfigurationException","httpStatus":null,"severity":"critical","filePath":"extensions/smallrye-graphql-client/runtime/src/main/java/io/quarkus/smallrye/graphql/client/runtime/SmallRyeGraphQLClientRecorder.java","lineNumber":288,"sourceCode":"            ProxyConfigurationRegistry proxyConfigurationRegistry = Arc.container().select(ProxyConfigurationRegistry.class)\n                    .orNull();\n            if (proxyConfigurationRegistry != null) {\n                if (clientConfig.proxyConfigurationName().isPresent()) {\n                    // explicit proxy config\n                    Optional<ProxyConfiguration> namedConfig = proxyConfigurationRegistry\n                            .get(clientConfig.proxyConfigurationName());\n                    if (namedConfig.isEmpty()) {\n                        throw new ConfigurationException(\"Proxy configuration '\" + clientConfig.proxyConfigurationName().get()\n                                + \"' was specified, but it does not exist.\");\n                    }\n                    return namedConfig;\n                } else {\n                    // no explicit proxy config -> get the default proxy configuration if it exists\n                    return proxyConfigurationRegistry.get(Optional.empty());\n                }\n            } else {\n                if (clientConfig.proxyConfigurationName().isPresent()) {\n                    throw new ConfigurationException(\"Proxy configuration '\" + clientConfig.proxyConfigurationName().get()\n                            + \"' was specified, but no Proxy configuration registry could be found.\");\n                }\n            }\n        }\n        return Optional.empty();\n    }\n\n    record TlsClientInfo(String tlsConfigName, HttpClient httpClient) {\n    }\n}\n","sourceCodeStart":270,"sourceCodeEnd":299,"githubUrl":"https://github.com/quarkusio/quarkus/blob/e1c734241f34c7919086ceb4c9262b4a58f6de44/extensions/smallrye-graphql-client/runtime/src/main/java/io/quarkus/smallrye/graphql/client/runtime/SmallRyeGraphQLClientRecorder.java#L270-L299","documentation":"When a proxy configuration name is specified for a GraphQL client but no ProxyConfigurationRegistry bean could be found at build time, the recorder throws this ConfigurationException. Without the registry there is no way to resolve the named proxy, so startup fails intentionally rather than silently ignoring the proxy setting.","triggerScenarios":"clientConfig.proxyConfigurationName() is present while proxyConfigurationRegistry is null — the proxy registry support is not present in the build (missing extension/dependency contributing ProxyConfigurationRegistry).","commonSituations":"Application built without the extension providing the proxy registry while GraphQL client config still names a proxy; relying on raw SmallRye client artifacts instead of the Quarkus extension; version downgrade losing the registry.","solutions":["Add the dependency/extension that provides ProxyConfigurationRegistry (e.g. quarkus-smallrye-graphql-client with proxy support)","Upgrade Quarkus to a version with proxy configuration registry support","Remove the proxy-configuration-name property so the recorder skips proxy resolution"],"exampleFix":"// before — property set, registry absent\nquarkus.smallrye-graphql-client.my-client.proxy-configuration-name=corp-proxy\n\n// after — either remove the property or add the module providing the registry\n<dependency>\n  <groupId>io.quarkus</groupId>\n  <artifactId>quarkus-smallrye-graphql-client</artifactId>\n</dependency>","handlingStrategy":"validation","validationCode":"// Guard: only set a proxy name if the registry type exists on the classpath\nClass.forName(\"io.quarkus.runtime.ProxyConfigurationRegistry\", false,\n        Thread.currentThread().getContextClassLoader());","typeGuard":null,"tryCatchPattern":"try {\n    buildClientConfig();\n} catch (ConfigurationException e) {\n    if (e.getMessage().contains(\"no Proxy configuration registry\")) {\n        throw new IllegalStateException(\"Proxy registry missing: add the providing extension or unset proxy-configuration-name\", e);\n    }\n    throw e;\n}","preventionTips":["Never reference proxy-configuration-name without the proxy registry module on the classpath","Keep client config and its supporting extension versions in sync","Add a CI startup test that instantiates all configured GraphQL clients","Avoid copying proxy config into apps that never proxy traffic"],"tags":["proxy","configuration","startup-failure","quarkus"],"backgroundTag":"proxy-configuration-not-found","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"}