Financial details of the deal are not yet known, but Jon Heyman of MLB Network reports the contract includes many incentives that could make it worth up to $30 million.
Odorizzi, 30, spent the majority of the 2020 season on the injured list, suffering from chest injuries and blisters. The former All-Star struggled over 13 2/3 innings, allowing 10 runs on 16 hits - including four homers - and three walks while striking out 12.
The right-hander enjoyed a career year in 2019, authoring a 3.51 ERA and 3.36 FIP over 30 starts. Odorizzi then accepted the Minnesota Twins' one-year, $17.8-million qualifying offer the following offseason.
The signing comes while the Astros await the diagnosis of left-handed starter Framber Valdez, who is currently dealing with a fractured ring finger on his pitching hand.