Bush's move to the 49ers was first reported by ESPN.
Bush struggled with injuries last season and was limited to 297 yards and two touchdowns in 11 games. He also finished with 40 receptions for 253 yards. In 2013, he had one of the best seasons of his career, rushing for 1,006 yards and four touchdowns in 14 games.
Bush signed a four-year deal with the Lions in 2013 after spending two seasons with the Miami Dolphins. He was released by Detroit in February.
Selected second overall in the 2006 NFL draft, Bush was a star at USC, winning the Heisman Trophy in 2005. He later voluntarily returned the trophy after the Trojans were placed under sanctions by the NCAA.