Using shell or command to do git operation fails half the time

I am doing a git fetch (also git merge master) on the remote machines. It seems random whether it will work or not. I get errors like: “error fetching identities for protocol 2: communication with agent failed” or “fatal: ‘ef’ does not appear to be a git repository\nfatal: Could not read from remote repository.\n\nPlease make sure you have the correct access rights\nand the repository exists.”

I can manually ssh into the server and run a “git fetch” 100% of the time.

In the Ansible playbook I can do a “ssh-add -l” and see the key it should be using the step before the “Could not read from remote repository.” error. The git server is Bitbucket v5.4.0.

Any ideas?

Sourcing this script fixes the problem:
https://github.com/wwalker/ssh-find-agent