Sanu's agent, Mike McCartney, announced the agreement on social media Tuesday. The team has yet to confirm the signing.
Shanahan, who served as the offensive coordinator of the Atlanta Falcons before becoming the 49ers' coach in 2017, hinted at bringing in the former Falcons wideout during his Monday news conference.
"We'll see how these injuries go, but I love Sanu," Shanahan told reporters Monday. "He's a hell of a player, so him being out there is always a possibility ... I wouldn't rule that out at all. He's available and he's definitely a guy I really respect and I think everyone in this league respects. So, we'll see how it goes this week."
Sanu is expected to arrive at the 49ers' practice facility Tuesday night to begin going through the COVID-19 testing protocols. If there are no issues in the process, he could begin practicing with the club Friday.
The 49ers currently have only three healthy receivers on their roster -- Dante Pettis, Kendrick Bourne and Trent Taylor. Top receiver Deebo Samuel (foot) is on injured reserve, while Richie James Jr. and rookie Brandon Aiyuk have been dealing with hamstring injuries.
The New England Patriots released Sanu before the start of this season after trading a second-round pick to the Falcons to acquire him just before the 2019 trade deadline. He finished with 59 receptions for 520 yards and two touchdowns in 15 games with Atlanta and New England last year.
In 118 career games between the Cincinnati Bengals, Falcons and Patriots, Sanu has recorded 403 catches for 4,507 yards and 26 touchdowns.