apolloClient.query() error shows up as promise rejection instead of in result.errors

My apollo client config looks something like this:

const client = new ApolloClient({
    cache: ...,
    link: from([
        onError(...) // my custom error handler
        new HttpLink(...)
    ])
});

Now if I do const result = client.query(...) and there is an error that routes through my custom error handler, that error shows up as a promise rejection, instead of in result.errors.

Is that a bug? Is there a way to move the error?