The San Francisco 49ers held their third full training camp practice on Wednesday, following a closed jog-through on Tuesday that was not open to the media.
Before practice, the 49ers announced the signings of defensive linemen Quinton Bell and K.J. Henry. To make room on the roster, the team waived/injured defensive linemen William Bradley-King and Andrew Farmer. Farmer was dealing with a back injury.
Head coach Kyle Shanahan once again observed practice briefly as he continues recovering from injuries sustained in a July 14 car accident.
With multiple receivers now sidelined (see below), the 49ers worked out veteran wide receivers Alex Bachman, D'Wayne Eskridge, and Trenton Irwin.
Below are some of the key takeaways from the 10:10 a.m. PT practice at the SAP Performance Facility, compiled from multiple media reports.
Noteworthy non-participants
These are the players who did not practice and are not on an injury list.
- DT Gracen Halton (knee bone bruise)
- RB Jordan James (rib fracture)
- WR Christian Kirk (calf strain)
- OT Vederian Lowe (high-ankle sprain)
- S Malik Mustapha (hamstring strain)
- WR Ricky Pearsall (knee)
- T Trent Williams (rest)
Injury updates
Before practice, the 49ers announced that wide receiver Ricky Pearsall is dealing with knee swelling related to the PCL injury that limited him last season. Multiple reports indicate the team is exploring all options, including the possibility of surgery.
Running back Jordan James suffered a rib fracture during Monday's practice, while safety Malik Mustapha strained his hamstring.
RELATED Ricky Pearsall, Jordan James, Malik Mustapha dealing with injuries
Wide receiver Christian Kirk watched practice from the sideline as he continues recovering from a calf strain.
Defensive end Romello Height, who exited Monday's practice because of cramps, returned to the field Wednesday. He also switched jersey numbers from 94 to 58.
Unavailable players
Physically unable to perform (PUP)
- DT Alfred Collins (shoulder)
- RB Isaac Guerendo (pectoral)
- TE George Kittle (Achilles)
- DE Mykel Williams (ACL)
Injured reserve (IR)
- S Darrick Forrest
Reserve/left squad
Offensive notes
While Pearsall is expected to miss time, rookie receiver De'Zhaun Stribling continues to build momentum. He made one of the day's most impressive catches, hauling in a leaping pass from quarterback Adrian Martinez while crossing the middle of the field.
"It showcased his full catch radius, which is insane," commented Brad Graham of TheSFNiners.
Stribling finished team drills with five receptions, including another catch on an intermediate route over the middle.
According to ESPN's Nick Wagoner, quarterback Brock Purdy completed 14 of his 18 passes during team drills.
"He was on point on in breakers to Jordan Watkins, Mike Evans, and Stribling, though he couldn't connect on a couple of deep balls," Wagoner wrote.
The Athletic's Matt Barrows tracked quarterback Mac Jones, crediting him with 11 completions on his 15 throws.
Two of those Jones completions went to tight end Jake Tonges, who could see an expanded role early in the season if George Kittle isn't ready for Week 1.
The battle for the No. 3 quarterback job between Kurtis Rourke and Adrian Martinez also continued. Offensive coordinator Klay Kubiak expects the competition to heat up during the preseason.
"Kurtis is doing great," Kubiak said. "First of all, the competition between those guys is going to be all camp. Those guys, they've embraced it, and those guys do a great job of coming out every day and getting their minimal reps they get, and getting the most out of them. They've done a good job so far.
"To me, that's (the competition) going to emerge through the preseason games. That's when those guys are going to get the most of their reps, is in preseason. They're going to play a lot, and that battle, that competition will kind of play itself out. And whoever plays the best is probably going to end up winning that battle."
Rookie running back Kaelon Black handled a heavier workload with James sidelined, taking most of the reps behind starter Christian McCaffrey.
"He's a pro," McCaffrey said of Black. "He came in, and you can tell he's mature. You can tell he knows how to work, he knows how to learn. And he's made of the right stuff, so he complements our room, our team really well."
While veteran wide receiver Demarcus Robinson had a disappointing first season with the 49ers, he had a very productive Wednesday practice, connecting with Purdy several times. If Pearsall misses extended time, Robinson could see a larger role in the offense.
"49ers quarterbacks love throwing to Demarcus Robinson this time of year," Noah Furtado of the San Francisco Chronicle noted.
Second-year receiver Jordan Watkins also capitalized on additional opportunities, hauling in several passes.
Defensive notes
Linebacker Dre Greenlaw looked comfortable back in the middle of the 49ers' defense.
"Dre Greenlaw, who has been teaming with Warner to torment ball carriers and pass catchers in the middle of the field," Barrows wrote. "Wednesday's team session began with Greenlaw stripping McCaffrey of the ball and recovering the fumble."
Veteran cornerback Jack Jones continued making plays, intercepting Mac Jones early in team drills on a pass intended for Jacob Cowing.
"Jones has a reputation for making plays on the ball and also giving up some big ones, but it's been more of the former than the latter through three open practices," Wagoner wrote.
Cornerback Renardo Green broke up a deep pass from Purdy that was intended for Evans, while linebacker Garret Wallow displayed strong coverage on a throw from Purdy intended for McCaffrey.
Special teams notes
Kicker Eddy Piñeiro made five of his six field-goal attempts. His lone miss came from beyond 50 yards and sailed wide right.
Junior Bergen, Jacob Cowing, Wesley Grimes, Will Pauling, and Jordan Watkins all received opportunities as punt returners.
Next practice
The 49ers will return to the practice field on Friday, July 31 at 10:10 a.m. PT. The session will be open to fans.
Social media: 49ers practice updates
#49ers Romello Height has changed jersey numbers and will now wear No. 58 pic.twitter.com/pjhhaYqMot
— Jennifer Lee Chan -all platforms: @jenniferleechan (@jenniferleechan) July 29, 2026
#49ers WR De'Zhaun Stribling could become a very important offseason addition very quickly with the recent injuries pic.twitter.com/beRiiyEjkP
— ???????????????????????????????????????????? (@TheSFNiners) July 29, 2026
#49ers Rookie RB Kaelon Black likely jumps up to teams RB2 with Jordan James rib injury pic.twitter.com/Q6AyWYyKuK
— ???????????????????????????????????????????? (@TheSFNiners) July 29, 2026
CMC back at it 🏃?♂? pic.twitter.com/N0LKnMeNVa
— San Francisco 49ers (@49ers) July 29, 2026
FWIW the 49ers tried out three WR's today after practice
Not a great long term sign for Ricky Pearsall or Christian Kirk pic.twitter.com/dic68Dq80w
— Brad (@Graham_SFN) July 29, 2026
Comments