He never appeared in an MLB game for the Angels, and was purchased by the San Francisco Giants (the team who originally drafted him in the first round in 2007) on March 17, 2015. As a September callup, Williams appeared in 7 games for the Giants, with 2 hits and 4 walks in 14 plate appearances.
Colorado Rockies (second stint)
On November 10, 2015, Williams signed a minor league contract with the Colorado Rockies organization. He split the 2016 campaign between the Double–A Hartford Yard Goats and Triple–A Albuquerque Isotopes, hitting .199/.265/.263 with one home run and 20 RBI across 68 total games. Williams elected free agency following the season on November 7, 2016.[7]
Pittsburgh Pirates
Williams split the 2017 season between the Double–A Altoona Curve and Triple–A Indianapolis Indians. In 55 total games, he batted .201/.276/.249 with 2 home runs and 10 RBI. He elected free agency following the season on November 6, 2017.[8]
On December 24, 2017, Williams re–signed with the Pirates on a new minor league contract. He played in 26 games split between Altoona and Indianapolis, accumulating a .221/.277/.314 batting line with two home runs and 10 RBI. Williams elected free agency following the season on November 2, 2018.[9]