dagger/dagger · error

decode persisted workspace payload: %w

Error message

decode persisted workspace payload: %w

What it means

Unmarshalling the raw JSON payload into persistedWorkspacePayload failed while rehydrating a Workspace from the cache store. This fires during cache import; the stored payload is corrupt or was written by an incompatible persistence schema version, so the cached Workspace cannot be reconstructed.

Source

Thrown at core/workspace.go:799

	}

	payloadBytes, err := json.Marshal(payload)
	if err != nil {
		return dagql.PersistedObjectEncoding{}, fmt.Errorf("marshal persisted workspace payload: %w", err)
	}
	return encodePersistedObjectRawJSON(payloadBytes), nil
}

func (*Workspace) DecodePersistedObject(
	ctx context.Context,
	dag *dagql.Server,
	_ uint64,
	_ *dagql.ResultCall,
	payload json.RawMessage,
) (dagql.Typed, error) {
	var persisted persistedWorkspacePayload
	if err := json.Unmarshal(payload, &persisted); err != nil {
		return nil, fmt.Errorf("decode persisted workspace payload: %w", err)
	}

	var rootfs dagql.ObjectResult[*Directory]
	if persisted.RootfsResultID != 0 {
		var err error
		rootfs, err = loadPersistedObjectResultByResultID[*Directory](ctx, dag, persisted.RootfsResultID, "workspace rootfs")
		if err != nil {
			return nil, err
		}
	}

	var mounts dagql.ObjectResult[*Directory]
	if persisted.MountsResultID != 0 {
		var err error
		mounts, err = loadPersistedObjectResultByResultID[*Directory](ctx, dag, persisted.MountsResultID, "workspace mounts")
		if err != nil {
			return nil, err
		}

View on GitHub (pinned to 82ba2681db)

When it happens

Trigger: Thrown at core/workspace.go:799 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/57078d12903fa910. Report an issue: GitHub.