He played in Major League Baseball (MLB) for the Chicago White Sox, Colorado Rockies, and Oakland Athletics.
Following the 2010 season in which he went a combined 7–7 with a 3.28 ERA across 2 minor league stops, Castro was added to the Padres' 40 man roster to protect him from the Rule 5 draft[2][3] After struggling most of the 2011 season, on December 31, 2011, Castro, along with Pedro Hernández, were traded to the Chicago White Sox for outfielder Carlos Quentin.
[4] Castro split the 2012 season between the Triple-A Charlotte Knights and Double-A Birmingham Barons without making a major league appearance.
[11] On December 1, 2016, Castro signed a minor league contract with the Oakland Athletics that included an invitation to spring training.
Castro pitched the ninth inning of a combined no-hitter against the Omaha Storm Chasers on June 7, 2017.
[14] On January 10, 2018, Castro re-signed with the Athletics on a minor league contract that included an invitation to Spring Training.
[16] On June 16, 2018, Castro signed with the Sugar Land Skeeters of the Atlantic League of Professional Baseball.