SNY.tv's Andy Martino first reported the amendment.
Per ESPN's Jeff Passan, the new deal keeps Cespedes under contract with the Mets and "significantly" lowers his 2020 salary from the original $29.5 million on his original deal.
Passan reported the Mets will save "well over $10 million" as a result of the settlement, which includes salary withheld by the team last year and their 2020 savings.
Cespedes hasn't appeared in a game since July 20, 2018, because of heel injuries that required surgery. The two-time All-Star had two procedures done, one on each heel, with the second taking place in Oct. 2018.
The Mets expected Cespedes to miss most of the 2019 season as a result of the injuries. General manager Brodie Van Wagenen announced last May the 34-year-old suffered a broken ankle on his ranch that officially ended his year.
Per Martino, agents and executives not associated with the Mets said New York could potentially get out of Cespedes' contract depending "on the specifics of how he was injured, and whether they violate certain contract language."
Since appearing in 159 games in 2015, Cespedes has missed a total of 497 games over the past four seasons. He hit .262/.325/.496 during his abbreviated 2018 campaign.
Depending on Cespedes' availability next season, the Mets also have Brandon Nimmo, Jake Marisnick, Michael Conforto and Jeff McNeil on the roster as options in the outfield.