For setting default headers to a Guzzle client (if using the client as a base for multiple requests), its best to set up a middleware which would add the header on every request. Otherwise additional request headers will get overridden in new client requests.
For example:
use GuzzleHttp\Client;
use GuzzleHttp\HandlerStack;
use GuzzleHttp\Middleware;
use Psr\Http\Message\RequestInterface;
...
$handler = HandlerStack::create();
$handler->push(Middleware::mapRequest(function (RequestInterface $request) {
return $request->withHeader('Authorization', "Bearer {$someAccessToken}");
}));
$client = new Client([
'base_uri' => 'https://example.com',
'handler' => $handler,
]);
Middlware Docs