dagger/dagger · error
patch constructor enum defaults: %w
Error message
patch constructor enum defaults: %w
What it means
During the enum default patching pass, applying the updated constructor to the object typedef via its __withConstructor field failed. This wraps the internal dag.Select error; the constructor's enum defaults were already rewritten and this is the final attachment step.
Source
Thrown at core/module.go:2115
}); err != nil {
return fmt.Errorf("patch object function enum defaults: %w", err)
}
}
if objRes.Self().Constructor.Valid {
updatedFn, err := patchFunctionEnumDefaults(objRes.Self().Constructor.Value)
if err != nil {
return err
}
if !sameAttachedResult(updatedFn, objRes.Self().Constructor.Value) {
fnID, err := ResultIDInput(updatedFn)
if err != nil {
return fmt.Errorf("patched constructor id: %w", err)
}
if err := dag.Select(ctx, updatedObj, &updatedObj, dagql.Selector{
Field: "__withConstructor",
Args: []dagql.NamedInput{{Name: "function", Value: fnID}},
}); err != nil {
return fmt.Errorf("patch constructor enum defaults: %w", err)
}
}
}
if !sameAttachedResult(updatedObj, objRes) {
objID, err := ResultIDInput(updatedObj)
if err != nil {
return fmt.Errorf("patched object typedef id: %w", err)
}
if err := dag.Select(ctx, obj, &mod.ObjectDefs[i], dagql.Selector{
Field: "__withObjectTypeDef",
Args: []dagql.NamedInput{{Name: "objectTypeDef", Value: objID}},
}); err != nil {
return fmt.Errorf("patch object typedef enum defaults: %w", err)
}
}
}
for i, iface := range mod.InterfaceDefs {
ifaceRes := iface.Self().AsInterface.ValueView on GitHub (pinned to 82ba2681db)
Solutions
- Retry the dagger command
- Restart the engine (dagger engine restart / kill stale session)
- Align CLI and engine versions
- Check the inner error for the dagql-level cause
Defensive patterns
Strategy: retry
Validate before calling
# engine health probe before module load dagger core version || (dagger engine restart) 2>/dev/null; dagger functions
Try / catch
for i in 1 2 3; do dagger develop && break || dagger engine restart; done
Prevention
- Restart the engine after crashes before retrying module loads
- Keep CLI and engine versions aligned
- Avoid killing the engine mid-develop
- Update to latest Dagger for dagql fixes
When it happens
Trigger: Module load with a valid patched constructor ID, but the dag.Select call executing __withConstructor fails (GraphQL/engine error).
Common situations: Engine crash or restart during module load; schema drift between CLI and engine; invalid/dangling function ID.
Related errors
- workspace default constructor arg %q: %w
- workspace default constructor id: %w
- workspace default constructor: %w
- patched constructor id: %w
- failed to parse constructor: %w
AI-assisted analysis of dagger/dagger@82ba2681db (2026-09-05).
Data as JSON: /api/errors/5879a1009fe70cfd.
Report an issue: GitHub.