The contract for the left-handed-hitting Castro is pending a physical.
A nine-year veteran with a strong defensive reputation, Castro, 32, hit .232 with 13 homers and 30 RBIs in 79 games with the Minnesota Twins last season. In 825 career games, he has hit 86 homers, driven in 292 runs and averaged .231 per season.
A first-round pick out of Stanford in the 2008 draft, Castro played six seasons with the Houston Astros before spending the past three seasons with the Twins.
Los Angeles used five players at catcher last year, with Jonathan Lucroy and Kevan Smith getting the most starts. Angels backstops combined to bat .221 with 15 home runs and were valued at -0.6 wins above replacement (per FanGraphs). Castro has been worth at least 1.6 WAR in six of the past seven seasons.
Castro rounds out an Angels lineup that added third baseman Anthony Rendon and should have top outfield prospect Jo Adell in the big leagues early this season.
Information from The Associated Press was used in this report.