The Angels also designated outfielder Rafael Ortega for assignment Friday night.
Chavez went 2-2 with a 4.43 ERA in 62 games last season for the Toronto Blue Jays and Los Angeles Dodgers. He pitched exclusively as a reliever at the start of his career and again last season, but also started 47 games over the 2014 and 2015 seasons for Oakland.
The Southern California native is joining his seventh team during a nine-year career in the big leagues.
Chavez is likely to compete for a spot in the Angels' starting rotation, which has lost depth due to injuries. Matt Shoemaker, Tyler Skaggs and Ricky Nolasco are also in the rotation along with ace Garrett Richards.