hasura/graphql-engine · error
got error while getting the sources list : %w
Error message
got error while getting the sources list : %w
What it means
Thrown by migrate status Run when --all-databases is set and metadatautil.GetSourcesAndKind fails while exporting metadata from the Hasura server to enumerate sources. It means the CLI could not read server metadata, so per-source status cannot be computed.
Source
Thrown at cli/commands/migrate_status.go:71
return nil
},
}
return migrateStatusCmd
}
func (o *MigrateStatusOptions) Run() error {
var op errors.Op = "commands.MigrateStatusOptions.Run"
o.EC.Spin("Fetching migration status...")
defer o.EC.Spinner.Stop()
if ec.AllDatabases {
sourcesAndKind, err := metadatautil.GetSourcesAndKind(
o.EC.APIClient.V1Metadata.ExportMetadata,
)
if err != nil {
return errors.E(op, fmt.Errorf("got error while getting the sources list : %w", err))
}
for _, source := range sourcesAndKind {
o.Source = cli.Source(source)
status, err := o.RunOnSource()
if err != nil {
return errors.E(
op,
fmt.Errorf("error getting status for database '%s': %w", o.Source.Name, err),
)
}
o.StatusOpts[o.Source] = status
}
return nil
}View on GitHub (pinned to 724551b9ae)
Solutions
- Verify the Hasura server is up and the --endpoint URL is correct
- Verify --admin-secret (or HASURA_GRAPHQL_ADMIN_SECRET env) is valid
- Check server logs for metadata export errors and fix any corrupted metadata
- Match CLI version to server version (hasura version vs server version)
Defensive patterns
Strategy: try-catch
Validate before calling
// verify server reachability + auth before running status
req, _ := http.NewRequest("GET", endpoint+"/v1/version", nil)
req.Header.Set("X-Hasura-Admin-Secret", adminSecret)
if resp, err := http.DefaultClient.Do(req); err != nil || resp.StatusCode != 200 {
return fmt.Errorf("server unreachable or auth failed: %v", err)
} Try / catch
Wrap the migrate status call; on this error, distinguish auth (401/403 in wrapped error) from connectivity (connection refused/timeout) and surface an actionable message instead of retrying blindly.
Prevention
- Pin CLI and server versions together in CI
- Validate endpoint/admin-secret in a preflight check
- Fail fast in scripts when HASURA_GRAPHQL_ADMIN_SECRET is unset
When it happens
Trigger: Running 'hasura migrate status --all-databases' when ExportMetadata request fails: server unreachable, invalid admin secret, incompatible server version, or malformed metadata response.
Common situations: Wrong --endpoint or --admin-secret, Hasura server not running, network/VPN issues, or using a CLI version whose metadata export API differs from the server's.
Related errors
- got error while getting the sources list : %w
- cannot export metadata from server: %w
- exporting metadata from server: %w
- Condition {condition_hash} not found
- error fetching config from server: %w
AI-assisted analysis of hasura/graphql-engine@724551b9ae (2026-08-28).
Data as JSON: /api/errors/137a749dcd91cca3.
Report an issue: GitHub.