hasura/graphql-engine · warning

expected version info not found at %s

Error message

expected version info not found at %s

What it means

The update-check response decoded successfully but contained neither Latest nor PreRelease version fields, so there is nothing to compare the current version against. This indicates a server-side or schema change rather than a client network problem.

Source

Thrown at cli/update/update.go:47

	res, err := http.Get(updateCheckURL)
	if err != nil {
		return nil, nil, errors.E(op, fmt.Errorf("update check request: %w", err))
	}

	defer res.Body.Close()

	var response updateCheckResponse

	err = json.NewDecoder(res.Body).Decode(&response)
	if err != nil {
		return nil, nil, errors.E(op, fmt.Errorf("decoding update check response: %w", err))
	}

	if response.Latest == nil && response.PreRelease == nil {
		return nil, nil, errors.E(
			op,
			fmt.Errorf("expected version info not found at %s", updateCheckURL),
		)
	}

	return response.Latest, response.PreRelease, nil
}

func buildAssetURL(v string) string {
	os := runtime.GOOS
	arch := runtime.GOARCH

	extension := ""
	if os == "windows" {
		extension = ".exe"
	}

	return fmt.Sprintf(
		"https://github.com/hasura/graphql-engine/releases/download/v%s/cli-hasura-%s-%s%s",
		v, os, arch, extension,

View on GitHub (pinned to 724551b9ae)

Solutions

  1. Fetch updateCheckURL manually and confirm the response contains the expected latest/pre-release fields
  2. If self-hosting/mirroring the update endpoint, fix the payload to match the expected schema
  3. Disable update checks if the endpoint is known to be incompatible
Defensive patterns

Strategy: fallback

Try / catch

if _, _, err := update.HasUpdate(); err != nil {
    // missing version info: degrade to current version, do not block the CLI
    log.Printf("update info unavailable: %v", err)
}

Prevention

When it happens

Trigger: Calling update.HasUpdate() when the endpoint returns valid JSON like {} or a payload where the expected fields are named differently (schema drift on the update service).

Common situations: The update service being migrated or a staged rollout serving an empty payload, an API version change, or a misconfigured mirror/redirect serving an unexpected JSON document.

Related errors


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