Cole went 12-12 with a 4.26 ERA and 196-to-55 strikeout-to-walk ratio while making a career-high 33 starts in 2017. The Pirates and their top starting pitcher had avoided arbitration on Friday by agreeing to a one-year deal worth $6.75 million.
Cole has one year of arbitration remaining and could command a hefty salary bump in 2019, one of the reasons the Pirates had explored trading him in recent weeks.
The 27-year-old Cole owns a 3.50 ERA for his five-year career and was an All-Star in 2015.
Musgrove started 15 games for the Astros in 2017, posting a 4.77 ERA. He made seven relief appearances in the postseason and earned the win in Game 5 of the World Series after throwing one scoreless inning.
Information from The Associated Press was used in this report.