Shams Charania of Yahoo Sports initially reported the agreement on Sunday.
The 25-year-old has been playing on a two-way contract but effectively become a full-time starter with Stephen Curry sidelined because of a knee injury.
The Warriors released Omri Casspi on Saturday to create space for the long-term addition of Cook.
Cook entered Sunday averaging 9.4 points and 2.7 assists per game this season, impressively knocking down 44.8 percent of his three-point opportunities.
He became a regular part of the rotation in early March but really took off March 14 against the Los Angeles Lakers. In his last 12 games, including 11 starts, he's averaging 18.2 points, 5.3 assists and 4.1 rebounds in 35.4 minutes. He is also shooting 52.3 percent from deep in that stretch.
The Duke product had received few opportunities before this season, playing only 14 games while spending time with the Cleveland Cavaliers, New Orleans Pelicans, Dallas Mavericks and Atlanta Hawks. He has gotten a chance with the Warriors, however, and has taken advantage.
With Curry expected to miss at least the first round of the playoffs, Cook can remain in his role and try to help Golden State contend for another championship.
And Cook has shown enough to be a valuable part of the rotation even after the two-time MVP returns.