dagger/dagger · error

failed to install default dep %s for sdk module %s: %w

Error message

failed to install default dep %s for sdk module %s: %w

What it means

While instantiating an SDK-as-module, one of the default dependency modules could not be installed into the private dagql server. The first %s is the default dep's name, the second the SDK module's name; the wrapped error comes from the dep's Install and usually indicates a schema collision or broken dependency module.

Source

Thrown at core/sdk/module.go:108

func (sdk *module) instantiate(ctx context.Context) (*moduleInstance, error) {
	dag, err := dagql.NewServer(ctx, sdk.root)
	if err != nil {
		return nil, fmt.Errorf("create sdk module server: %w", err)
	}
	dag.Around(core.AroundFunc)
	core.InstallCoreSchemaLoaders(dag)

	if err := core.NewUserMod(sdk.mod).Install(ctx, dag); err != nil {
		return nil, fmt.Errorf("failed to install sdk module %s: %w", sdk.mod.Self().Name(), err)
	}

	defaultDeps, err := sdk.root.DefaultDeps(ctx)
	if err != nil {
		return nil, fmt.Errorf("failed to get default deps for sdk module %s: %w", sdk.mod.Self().Name(), err)
	}
	for _, defaultDep := range defaultDeps.Mods() {
		if err := defaultDep.Install(ctx, dag); err != nil {
			return nil, fmt.Errorf("failed to install default dep %s for sdk module %s: %w", defaultDep.Name(), sdk.mod.Self().Name(), err)
		}
	}

	var sdkObj dagql.AnyObjectResult
	var constructorArgs []dagql.NamedInput
	if sdk.optionalFullSDKSourceDir.Self() != nil {
		sdkSourceDirID, err := sdk.optionalFullSDKSourceDir.ID()
		if err != nil {
			return nil, fmt.Errorf("failed to get full sdk source directory ID: %w", err)
		}
		constructorArgs = []dagql.NamedInput{
			{Name: "sdkSourceDir", Value: dagql.Opt(dagql.NewID[*core.Directory](sdkSourceDirID))},
		}
	}

	if err := dag.Select(ctx, dag.Root(), &sdkObj,
		dagql.Selector{
			Field: gqlFieldName(sdk.mod.Self().Name()),

View on GitHub (pinned to 82ba2681db)

Solutions

  1. Identify the failing dependency from the message and inspect its wrapped error.
  2. Verify that dependency module itself loads and installs correctly.
  3. Retry if the dependency resolution was transient.
Defensive patterns

Strategy: try-catch

When it happens

Trigger: Thrown at core/sdk/module.go:108 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/870889336ddc555e. Report an issue: GitHub.