quarkusio/quarkus · critical · ConfigurationException
Proxy configuration '${name}' was specified, but no Proxy co
Error message
Proxy configuration '${name}' was specified, but no Proxy configuration registry could be found. What it means
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.
Source
Thrown at extensions/smallrye-graphql-client/runtime/src/main/java/io/quarkus/smallrye/graphql/client/runtime/SmallRyeGraphQLClientRecorder.java:288
ProxyConfigurationRegistry proxyConfigurationRegistry = Arc.container().select(ProxyConfigurationRegistry.class)
.orNull();
if (proxyConfigurationRegistry != null) {
if (clientConfig.proxyConfigurationName().isPresent()) {
// explicit proxy config
Optional<ProxyConfiguration> namedConfig = proxyConfigurationRegistry
.get(clientConfig.proxyConfigurationName());
if (namedConfig.isEmpty()) {
throw new ConfigurationException("Proxy configuration '" + clientConfig.proxyConfigurationName().get()
+ "' was specified, but it does not exist.");
}
return namedConfig;
} else {
// no explicit proxy config -> get the default proxy configuration if it exists
return proxyConfigurationRegistry.get(Optional.empty());
}
} else {
if (clientConfig.proxyConfigurationName().isPresent()) {
throw new ConfigurationException("Proxy configuration '" + clientConfig.proxyConfigurationName().get()
+ "' was specified, but no Proxy configuration registry could be found.");
}
}
}
return Optional.empty();
}
record TlsClientInfo(String tlsConfigName, HttpClient httpClient) {
}
}
View on GitHub (pinned to e1c734241f)
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
Example fix
// before — property set, registry absent quarkus.smallrye-graphql-client.my-client.proxy-configuration-name=corp-proxy // after — either remove the property or add the module providing the registry <dependency> <groupId>io.quarkus</groupId> <artifactId>quarkus-smallrye-graphql-client</artifactId> </dependency>
Defensive patterns
Strategy: validation
Validate before calling
// Guard: only set a proxy name if the registry type exists on the classpath
Class.forName("io.quarkus.runtime.ProxyConfigurationRegistry", false,
Thread.currentThread().getContextClassLoader()); Try / catch
try {
buildClientConfig();
} catch (ConfigurationException e) {
if (e.getMessage().contains("no Proxy configuration registry")) {
throw new IllegalStateException("Proxy registry missing: add the providing extension or unset proxy-configuration-name", e);
}
throw e;
} Prevention
- 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
When it happens
Trigger: clientConfig.proxyConfigurationName() is present while proxyConfigurationRegistry is null — the proxy registry support is not present in the build (missing extension/dependency contributing ProxyConfigurationRegistry).
Common situations: 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.
Related errors
- Proxy configuration '${name}' was specified, but it does not
- Cannot find the Proxy registry configuration '%s'
- ${prefix}.username and ${prefix}.password must be both set o
- Could not retrieve ${missingKeys} from credentials provider
- Proxy configuration with name ${key} was requested but quark
AI-assisted analysis of quarkusio/quarkus@e1c734241f (2026-09-05).
Data as JSON: /api/errors/0204a182795f6585.
Report an issue: GitHub.