On May 10, 2008, Carlin made his MLB debut for the San Diego Padres. On May 16, 2008, he came through with his first MLB hit, which was a double against the Colorado Rockies. He became a free agent at the end of the season and signed a minor league contract with the Arizona Diamondbacks in January 2009.
Pittsburgh Pirates
On January 12, 2010, Carlin signed a minor league contract with the Pittsburgh Pirates that included an invitation to spring training. In 63 appearances for the Triple–A Indianapolis Indians, he batted .239/.331/.317 with two home runs, 23 RBI, and five stolen bases.
Cleveland Indians
On August 10, 2010, Carlin was traded to the Cleveland Indians in exchange for a player to be named later. His contract was purchased by the Indians from Triple-A Columbus on September 23. Carlin was removed from the 40–man roster and sent outright to the Triple–A Columbus Clippers on October 31. Carlin refused his minor league assignment and subsequently filed for free agency.
On November 29, 2010, Carlin re–signed with Cleveland on a minor league contract that included a non–roster invitation to the Indians' 2011 spring training camp.[4]
Carlin began 2012 with Columbus, hitting .227 in 20 games with 10 RBI before he was called up to Cleveland on May 26 to replace Carlos Santana, who was placed on the 7-day DL.[5] He was designated for assignment on June 12,[6] and sent to Triple–A on June 15.[7]