League sources informed MLB.com of the deal on Tuesday. The Rangers have yet to announce the signing.
Sources told Yahoo Sports that the deal is in the $8 million range.
Chavez, 35, posted a 2.55 ERA and a 5-2 record in 62 appearances last season for the Rangers and Chicago Cubs. The Rangers traded Chavez to the Cubs in July for Minor Leaguer Tyler Thomas.
Chavez has also pitched for the Oakland Athletics, Kansas City Royals, Pittsburgh Pirates, Toronto Blue Jays, Atlanta Braves, Los Angeles Dodgers and Los Angeles Angels. He owned a 5.35 ERA and a 7-11 record in 38 games during the 2017 season for the Angels.
For his career, Chavez has a 4.45 ERA and a 38.53 record in 415 appearances. He also has seven saves.