dagger/dagger · error
invalid %s ref %q: %w
Error message
invalid %s ref %q: %w
What it means
parseOCILockInputs: reference.ParseNormalizedNamed rejected the image reference recorded in the lock inputs. The reference string is not a valid normalized Docker image reference.
Source
Thrown at core/lockfile_update.go:212
operation string,
inputs []any,
latest bool,
) (ociLockInputs, error) {
var parsed ociLockInputs
required, options, err := workspace.ParseLookupInputs(inputs)
if err != nil {
return parsed, fmt.Errorf("invalid %s inputs %v: %w", operation, inputs, err)
}
if len(required) != 1 {
return parsed, fmt.Errorf("invalid %s inputs %v", operation, inputs)
}
ref, ok := required[0].(string)
if !ok || ref == "" {
return parsed, fmt.Errorf("invalid %s ref %v", operation, required[0])
}
refName, err := reference.ParseNormalizedNamed(ref)
if err != nil {
return parsed, fmt.Errorf("invalid %s ref %q: %w", operation, ref, err)
}
if latest && !reference.IsNameOnly(refName) {
return parsed, fmt.Errorf("invalid %s tagged ref %q", operation, ref)
}
if !latest {
if _, ok := refName.(reference.NamedTagged); !ok {
return parsed, fmt.Errorf("invalid %s untagged ref %q", operation, ref)
}
}
parsed.ref = ref
for name, value := range options {
switch name {
case "protocol":
protocol, ok := value.(string)
if !ok {
return parsed, fmt.Errorf("invalid %s registry protocol %v", operation, value)
}View on GitHub (pinned to 82ba2681db)
Solutions
- Correct the image reference syntax
- Regenerate the lock entry from a valid reference
- Check the wrapped error for the specific parse problem
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at core/lockfile_update.go:212 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of dagger/dagger@82ba2681db (2026-09-05).
Data as JSON: /api/errors/7052dfad6f447d84.
Report an issue: GitHub.