But Pettis has yet to deliver, and Shanahan is running out of patience.
The 49ers traded up in 2018 to select Pettis in the second round of the draft with the No. 44 overall pick. Pettis finished last season strong, and appeared to be the favorite to open this season as the team's top wide receiver.
But nine games into the season, Pettis virtually has disappeared.
"He's had a number of opportunities," Shanahan said. "I'm one of the guys that believe in him the most. That's why he's here. He's had his opportunities.
"The more he doesn't take advantage of his opportunities, the less opportunities he gets."
After battling injuries early in his rookie season, Pettis finished 2018 in promising fashion. Over the final five games, he caught 20 passes for 359 yards and four touchdowns.
But after getting off to a slow start in training camp and being challenged repeated by Shanahan, Pettis has not responded.
In nine games (four starts), Pettis has just 11 receptions for 109 yards and two touchdowns. There have been three games in which he has not caught a pass, including the 49ers' 27-24 loss to the Seattle Seahawks on Monday night.
"He did get a couple (opportunities on Monday) because of injury and I didn't think he made them," Shanahan said. "We'll see how this week goes. Dante has the ability, but we're waiting for him to pick it up and have the consistency and take advantage of some of these opportunities he's gotten."
In overtime, Garoppolo and Pettis did not connect on a second-down pass in the closing two minutes. Shanahan thought it should have been an easy completion to keep the clock moving and give the 49ers a chance to pick up some yards and, potentially, move into position for the victory.
Instead, the 49ers had a quick three-and-out, leaving plenty of time for Russell Wilson to move the ball down the field for Jason Myers' game-winning field goal. The incomplete pass intended for Pettis was a pivotal play, Shanahan said.
"I think there's no doubt we need to be able to make that catch, running through that ball, and if we do, then we'll let the clock run down until a minute left before we try our third and 3, which could have been a big help," Shanahan said.
49ers coach Kyle Shanahan losing patience with receiver Dante Pettis originally appeared on NBC Sports Bay Area