Cotton signed a contract with the Orix Buffaloes of Nippon Professional Baseball in late January.
Cotton elected free agency Thursday after he was outrighted off the Giants' 40-man roster, Alex Pavlovic of NBC Sports Bay Area reports.
Cotton (4-2) earned the extra-inning win Sunday versus the Diamondbacks, allowing an unearned run on two hits and striking out one over one inning.
Cotton (3-2) won his Giants debut Thursday. He allowed two hits and struck out one in 2.2 innings versus the Rockies.
Cotton reported to the Giants' major league facility and is active ahead of Wednesday's game against Colorado.
Cotton was claimed off waivers by the Giants on Sunday, Maria I. Guardado of MLB.com reports.
The Twins selected Cotton's contract from Triple-A St. Paul on Sunday, Betsy Helfand of the St. Paul Pioneer Press reports.
Cotton cleared waivers and was assigned to Triple-A St. Paul on Friday.