Usually we think that only Arjuna was the only person to whom Bhagwad Gita was told directly bu there is something else which we are unaware of.
Sanjaya is the only character of the Mahabharata who apart from Arjuna heard the narration of Bhagwad Gita directly from Lord Sri Krishna, The Supreme Personality of Godhead.
He was blessed by the divine sage, the incarnation of godhead, Sri Vyasa Deva to get the divine vision which helped him to see the battlefield sitting beside dhritarashtra and told him everything.
Despite of such a cruel warfare, he never lied to Dhritarashtra and kept on telling him about the death of the 100 sons
He was hearing Bhagwad Gita directly from Lord Krishna due to the blessings of his spiritual master as he was pleased by his menial service.
Many verses in Bhagwad Gita therefore, begin with Sanjaya Uvacha i.e. Sanjaya Said
His divine vision allowed him to see upto the distance of 80 miles from his area of residence, this is Divya Chakshu.