hasura/graphql-engine · error
unable to parse server endpoint: %w
Error message
unable to parse server endpoint: %w
What it means
The underlying NDC (Native Data Connector) specification validation of a data connector link/schema failed, and the error is wrapped with this variant. The {0} payload carries the NDC validation report detailing which capabilities/schemas violated the NDC spec.
Source
Thrown at cli/cli.go:1035
MigrationsDirectory: v.GetString("migrations_directory"),
SeedsDirectory: v.GetString("seeds_directory"),
ActionConfig: &types.ActionExecutionConfig{
Kind: v.GetString("actions.kind"),
HandlerWebhookBaseURL: v.GetString("actions.handler_webhook_baseurl"),
Codegen: &types.CodegenExecutionConfig{
Framework: v.GetString("actions.codegen.framework"),
OutputDir: v.GetString("actions.codegen.output_dir"),
URI: v.GetString("actions.codegen.uri"),
},
},
}
if !ec.Config.Version.IsValid() {
return errors.E(op, ErrInvalidConfigVersion)
}
err = ec.Config.ParseEndpoint()
if err != nil {
return errors.E(op, fmt.Errorf("unable to parse server endpoint: %w", err))
}
return nil
}
// setupSpinner creates a default spinner if the context does not already have
// one.
func (ec *ExecutionContext) setupSpinner() {
if ec.Spinner == nil {
spnr := spinner.New(spinner.CharSets[7], 100*time.Millisecond)
spnr.Writer = ec.Stderr
ec.Spinner = spnr
}
}
// Spin stops any existing spinner and starts a new one with the given message.
func (ec *ExecutionContext) Spin(message string) {
if ec.IsTerminal {View on GitHub (pinned to 724551b9ae)
Solutions
- Inspect the wrapped NDCValidationError details for the specific violation
- Update the data connector to a version whose metadata conforms to the expected ndc-spec
- Regenerate the connector's capabilities/schema files rather than hand-editing them
Defensive patterns
Strategy: try-catch
Try / catch
match resolve(&md) {
Err(ResolveError::NDCValidationError(v)) => {
eprintln!("connector spec violations: {v:#?}");
// fix connector metadata, then re-resolve
return;
}
r => r,
} Prevention
- Run ndc-spec validators against your connector during connector CI
- Prefer generated capabilities/schema files over hand-edited ones; pin connector and ndc-spec versions together
When it happens
Trigger: Calling metadata resolution where a data connector's schema/functions metadata fails NDC-spec validation, e.g. inconsistent function signatures, invalid object types in the NDC schema, or capability mismatches reported by ndc-spec validators.
Common situations: Custom data connectors emitting non-conformant capability/schema JSON; upgrading a connector whose output no longer matches the supported ndc-spec version; hand-edited connector metadata.
Understand the failure class
- Parsing and encoding errors: unexpected token, malformed input — why parsers reject input and how to find the real culprit.
Related errors
- ndc validation error: {0}
- ndc validation error: {0}
- the following data connector arguments are not mapped to an
- function {function_name} is not defined in data connector {d
- NDC validation error: {0}
AI-assisted analysis of hasura/graphql-engine@724551b9ae (2026-08-28).
Data as JSON: /api/errors/d942eba76c938042.
Report an issue: GitHub.