I much prefer working with the GraphQL spec than with OpenAPI spec.
I think it's a result of OpenAPI being a very large spec that supports constructs that most languages don't deal with properly (like a field being able to be a number or an object), but a lot of OpenAPI code generators just don't work reliably.
GraphQL isn't perfect in this regard - a lot of languages don't really support union types - but I've found GraphQL client code generators to be more reliable in practice.
I think it's a result of OpenAPI being a very large spec that supports constructs that most languages don't deal with properly (like a field being able to be a number or an object), but a lot of OpenAPI code generators just don't work reliably.
GraphQL isn't perfect in this regard - a lot of languages don't really support union types - but I've found GraphQL client code generators to be more reliable in practice.