The 49ers gave Rosen a one-year deal, according to the team. San Francisco also signed running back Austin Walter to a one-year extension.
Rosen was part of the Tampa Bay Buccaneers' practice squad when the 49ers found themselves in need of depth at quarterback late in the 2020 regular season. San Francisco signed Rosen off the Bucs' practice squad on Dec. 23, and he spent the remainder of the 2020 campaign with the 49ers.
The Cardinals selected Rosen with the No. 10 overall pick in the 2018 NFL Draft out of UCLA. He spent his rookie year in Arizona before being traded to the Dolphins in April 2019.
Rosen played in six games (three starts) with the Dolphins in the 2019 season, primarily serving as the backup to veteran quarterback Ryan Fitzpatrick. Rosen was waived prior to the start of this past season after failing to beat out Tua Tagovailoa or Fitzpatrick on the depth chart.
A few days after his release, the Buccaneers signed Rosen to their practice squad, where he remained for most of the season.
The 23-year-old Rosen has completed 54.8% of his passes for 2,845 yards, 12 touchdowns and 19 interceptions in 20 career games with the Cardinals and Dolphins.