The 49ers, who have been in the market for a back-up running back since free agency began, agreed to a one-year deal with one of their own, DuJuan Harris, on Monday.
Harris, 28, started one game last year, a Week 9 loss to the Saints, when lead runner Carlos Hyde was out with a shoulder injury. Harris rushed 10 times for 59 yards in that contest and caught five passes for 83 yards, including a 47-yard touchdown.
Harris' ability as a receiver likely will be a big factor on whether he sticks on San Francisco's roster this season.
New coach Kyle Shanahan wants his runners to be good pass catchers so that the offense can run or throw equally well with the same personnel group. Harris hasn't been used much as a pass catcher since entering the league in 2011, but he improved in pass protection last year under then running backs coach Tom Rathman.
Sign Up and Save
Get six months of free digital access to The Sacramento Bee
Harris was slated to be a restricted free agent earlier this month. The 49ers, however, did not tender him before March 9, which meant he was an unrestricted free agent.
The 49ers now have running backs Hyde, Harris, Mike Davis and Raheem Mostert under contract for next season. The team also looked at free-agent running back Tim Hightower, who remains unsigned. Another San Francisco runner the last two seasons, Shaun Draughn, signed a one-year free-agent deal with the Giants last week.
The upcoming draft is believed to be rich and runners, and the 49ers could make more additions then.