SANTA CLARA -- Two days after he seemed to express frustration with Jalen Hurd’s ability to remain on the field, coach Kyle Shanahan liked what he saw from the wide receiver.
Hurd had his best practice of camp -- by far -- and took a major step toward a spot on the 49ers’ 53-man roster.
He came into the day with just one reception during 11-on-11 sessions this summer. On Thursday, he caught four passes — and looked good doing it.
“I was impressed,” Shanahan said. “He got some (passes) and made some plays. He’s coming along.”
Hurd, a third-round draft pick of the 49ers in 2019, had one strong practice in particular during his rookie camp. After catching two touchdown passes in the exhibition opener against the Dallas Cowboys, Hurd never stepped foot on the field for the 49ers again due to a stress fracture in his back.
Last summer, he sustained a torn ACL during the first practice as he was working out on a side field.
In the 49ers' final full-speed practice before the exhibition opener, rookie quarterback Trey Lance completed consecutive passes of 13 and 24 yards to Hurd during a late-game, no-huddle situation.
Shanahan said earlier this week that time was running out on Hurd to prove he belongs on the team’s regular-season roster.
“The stuff I said the other day wasn’t anything that was a shot at him,” Shanahan said. “That’s the reality of injured players.”
Shanahan said the team is trying to be judicious with players who are returning from injuries, such as Hurd, because they want to do all they can to prevent another injury. Those are the issues that Shanahan and general manager John Lynch will weigh when final cuts are made on Aug. 31.
“Those are the stressful decisions John and I have, because there are guys you really want to help and you have to be smart with them because they’re coming off real serious injuries,” Shanahan said. “But you eventually have to show that you won’t get re-injured. That’s what’s tough.”
Hurd will not play in the 49ers’ preseason opener Saturday night against the Kansas City Chiefs, Shanahan said.
Here are more notes and observations from Thursday’s practice:
—Cornerback K’Waun Williams sat out with a sore hip as the result of a collision with linebacker Dre Greenlaw on Wednesday. Defensive end Arden Key sat out practice with a quadriceps bruise.
—Receiver River Cracraft made the best catch of the day when he went up over Dontae Johnson to pull down a 40-yard pass from Lance down the left sideline. Cracraft fell hard to the ground, but held onto the ball. Cracraft later had a 26-yard catch from Garoppolo in a late-game situation.
—Brandon Aiyuk is separating himself as the team’s best wide receiver. He caught a deep ball from Nate Sudfeld and caught three passes in a six-play sequence from Jimmy Garoppolo and Lance. Aiyuk caught a 2-yard touchdown pass from Garoppolo with four seconds remaining to cap a 60-yard touchdown drive in a hurry-up situation.
—After the first-teamers scored a touchdown on their late-game chance, Lance led the second team to a touchdown, too. Lance hit tight end Ross Dwelley for a 19-yard touchdown. But Shanahan insisted on the ball being placed at the 2-yard line.
“I just wanted to practice the situation and see if we could get a spike,” Shanahan said. “And we would’ve if Dwelley didn’t throw it to the ref. You can’t guarantee they’ll catch it, so that’s a coaching point that we have, that you run it to the ref and hand it to them.”
—Receiver Trent Sherfield’s strong camp continued with back-to-back deep receptions from Lance. The second completion, a 40-yarder, was impressive because Lance left it a little behind Sherfield to prevent safety Jared Mayden, who was closing fast, to get a hand on the ball.
—Newly acquired defensive lineman Eddie Yarbrough picked up a couple of sacks. Kentavius Street and Jordan Willis also supplied good pressure.