hasura/graphql-engine · error

error while creating http client with TLS configuration %w

Error message

error while creating http client with TLS configuration %w

What it means

Generic catch-all for unsupported features encountered while resolving type predicates / boolean expressions. It carries a free-form message describing exactly which feature is unsupported in the current configuration or engine version.

Source

Thrown at cli/cli.go:688

	err = ec.readConfig()
	if err != nil {
		return errors.E(op, fmt.Errorf("cannot read config: %w", err))
	}

	// initialize HTTP client
	// CLI uses a common http client defined in internal/httpc.Client
	// get TLS Config
	tlsConfig, err := httpc.GenerateTLSConfig(ec.Config.CAPath, ec.Config.InsecureSkipTLSVerify)
	if err != nil || tlsConfig == nil {
		return errors.E(op, stderrors.New("error while getting TLS config"))
	}

	// create a net/http.Client with TLS Config
	standardHttpClient, err := httpc.NewHttpClientWithTLSConfig(tlsConfig)
	if err != nil || standardHttpClient == nil {
		return errors.E(
			op,
			fmt.Errorf("error while creating http client with TLS configuration %w", err),
		)
	}

	// create httpc.Client
	httpClient, err := httpc.New(standardHttpClient, ec.Config.Endpoint, ec.HGEHeaders)
	if err != nil || httpClient == nil {
		return errors.E(op, err)
	}

	ec.Config.HTTPClient = httpClient

	err = util.GetServerStatus(ec.Config.GetVersionEndpoint(), ec.Config.HTTPClient)
	if err != nil {
		ec.Logger.Error("connecting to graphql-engine server failed")
		ec.Logger.Info("possible reasons:")
		ec.Logger.Info(
			"1) Provided root endpoint of graphql-engine server is wrong. Verify endpoint key in config.yaml or/and value of --endpoint flag",
		)

View on GitHub (pinned to 724551b9ae)

Solutions

  1. Read the message text to identify the exact unsupported feature
  2. Upgrade the engine/CLI to a version that supports the feature
  3. Restructure the query to avoid the unsupported construct (e.g. use a command or client-side filtering)
  4. Check feature flags / experimental config required to enable the feature
Defensive patterns

Strategy: fallback

Validate before calling

// Feature-detect before using advanced predicate constructs
if (!supportsFeature('nested-filter-expressions')) {
  throw new Error('Feature unsupported; falling back to simpler query');
}

Type guard

const isSupported = (features, name) => features.has(name);

Try / catch

try { resolve(); } catch (e) { if (e?.code === 'UnsupportedFeature') useSimplerQuery(e.message); else throw e; }

Prevention

When it happens

Trigger: Using predicate features (advanced filter expressions, specific relationship types, aggregation filters) that the current metadata-resolve version or data connector combination doesn't support yet.

Common situations: Adopting newer metadata syntax on an older engine build; connectors that only implement a subset of the boolean expression spec; feature-flagged functionality not enabled.

Understand the failure class

Related errors


AI-assisted analysis of hasura/graphql-engine@724551b9ae (2026-08-28). Data as JSON: /api/errors/6daf85d0254223b6. Report an issue: GitHub.