The 33-year-old is available for at least eight Division One County Championship matches next season after being confirmed as Keshav Maharaj's replacement
Yorkshire have secured the services of Ravi Ashwin as their replacement overseas player for the 2020 County Championship.
The India spinner has taken 362 Test wickets, the fourth most in his country's history.
Ashwin will be available for at least eight Division One matches following the conclusion of the Indian Premier League, during which he will represent Delhi Capitals, and the departure of Keshav Maharaj.
The South African will return to Yorkshire for the first two matches of the season before returning to his homeland and being replaced by Ashwin.
"I'm thrilled to be joining Yorkshire, a club with a wonderful history and a fantastic fan base," he said.
"I think our team looks extremely talented with some superb pace bowlers and exciting batsmen.
"Hopefully my role as the spinner will be a key feature in helping the team achieve success."
The proposed more to Headingley comes following time with both Worcestershire in 2017 and Nottinghamshire in 2019.
In nine matches across both spells, he took 54 wickets at an average of 26.27.
Subscribe to The Cricketer for exclusive content every day: The inside track on England's Test tour with George Dobell in Pakistan, award-winning analysis, breaking news and interviews and the only place for in-depth county coverage all year round. Plus: An ad-free app experience at your fingertips. Subscribe to thecricketer.com today for just £1.