Grib format differences between 'reanalysis-era5-single-levels' and 'reanalysis-era5-complete'?

I use the cdsapi client to download two types of ERA5 reanalysis data: 1) ‘ERA5-single-levels’ (the typical ERA5 data that can also be accessed via the web interface), and 2) ‘ERA5-complete’ (the original model output stored on MARS tapes, only accessible via the cdsapi).

Both types of data are downloaded in grib format.

I want to use Matlab (v2024b) to access these files, BUT this can only open the ERA5-single-levels grib file, not the ERA5-complete grib file. I have downloaded the exact same data from both sources (U10 and V10 for one single specific hour, the whole-Earth fields).

Is there a difference in the grib file format between these two data sources?
Or am I making wrong assumptions somewhere?

This is the cds script I use to download data for ERA5-complete:

import cdsapi
c = cdsapi.Client()
c.retrieve(“reanalysis-era5-complete”, {
“class”: “ea”,
“date”: “2010-01-01”,
“expver”: “1”,
“levtype”: “sfc”,
“param”: “165.128/166.128”,
“stream”: “oper”,
“time”: “00:00:00”,
“type”: “an”,
“format”: “grib”
}, “output.grib”)