Retain Guzzle Session During Batch Operations
Between two batch runs, the data is saved in the database serialized. Before the second batch run, the data is taken from the database and unserialized. __PHP_Incomplete_Class Object tell us that, at the moment the data is unserializes, no GuzzleHttp\Cookie\CookieJarInterface class is available, and objects of that class cannot be unserialized.
To retain a Guzzle session between batch runs, you can save the data as  array.
$context['results']['jar'] = $jar-&gt;toArray();

To get back the data, you can then use the following code.
$jar = CookieJar::fromArray($context['results']['jar'], 'domain.com');

If you save an object in $context, as in your case now, it would be available through all iterations at one batch run, but at the next run, an error is thrown.
If you still prefer to keep objects during iterations instead of arrays, to avoid errors you should check if $context['results']['jar'] is an instance of GuzzleHttp\Cookie\CookieJarInterface.