The 29-year-old McCann was eligible for arbitration. He signed a $2.5 million, one-year deal with Chicago last December after Detroit didn't offer him a contract for the 2019 season.
McCann set career highs with a .273 batting average, 18 homers and 60 RBI in his first year with the White Sox. He also was an All-Star selection for the first time.
The White Sox signed free-agent catcher Yasmani Grandal to a $73 million, four-year contract last month. But McCann played a pivotal role in the development of Lucas Giolito into a front-line starter, likely cementing his return to Chicago.
McCann was selected by the White Sox in the 31st round of the 2008 amateur draft, but he decided to go to the University of Arkansas instead. He then was drafted by the Tigers in the second round in 2011.
McCann made his major league debut in September 2014 and spent his first five seasons with Detroit, batting .240 with 40 homers and 177 RBI in 452 games.
In other moves Monday, Chicago declined to offer 2020 contracts to Gold Glove second baseman Yolmer Sanchez and relievers Ryan Burr and Caleb Frare, making the trio free agents. Right-hander Thyago Vieira was released to pursue an opportunity to play in Japan.