Barnes agreed Sunday with the Reds on a minor-league contract, Doug Gray of RedsMinorLeagues.com reports.
Barnes' deal doesn't include an invitation to the Reds' major-league camp, so he'll presumably be vying for an outfield spot on the Triple-A Louisville roster. The 33-year-old spent the 2019 season between the Indians' and Twins' Triple-A affiliates, slashing .253/.320/.504 with 30 home runs and 11 steals between the two stops.