Before Caffey could win a third championship ring with the Bulls, he was traded to the Golden State Warriors in the middle of 1997–98. In the summer of 1999, he re-signed with the Warriors for seven years and $35 million. He averaged career highs of 12.0 points and 6.8 rebounds during the 1999–2000 season with the Warriors.
Caffey joined the Milwaukee Bucks in 2000, with whom he played three more seasons before his career fizzled out amidst a series of personal problems, including an anxiety attack in 2002 and an assault charge in 2003. The Bucks bought out the remaining two seasons ($11.8 million) of his contract before the 2003–04 season started.