The 19-year-old, who is the son of former City and Manchester United striker Andrew Cole, had been linked with a move to Motherwell.
"First and foremost, I'd like to thank Manchester City for allowing such a promising young player to join us," Tykes boss Danny Wilson told the club's official website.
"He's had plenty of opportunities to go to clubs but he's decided we are the right one for him. We're very privileged in that respect."
Barnsley return to action tonight when they travel to Coventry City in League One.