Elmore signed a minor-league contract with Cleveland on Friday and will join the team's 60-man player pool.
Elmore was released by the Pirates in mid-June but didn't have to wait long before finding a new deal. The 33-year-old is unlikely to play a significant role in Cleveland this season, as he owns a career .215/.292/.275 slash line in 217 major-league games.