The San Francisco 49ers held their sixth training camp practice on Tuesday, the second padded session of the summer.
Here are some key highlights from the 10:25 a.m. PT practice at the SAP Performance Facility, compiled from multiple media reports.
DT Jordan Elliott returned after missing Monday's practice.
Physically unable to perform (PUP)
Non-football injury (NFI)
Injured reserve (IR)
DE Mykel Williams, the 49ers' first-round draft pick, missed practice with what the team described as a "minor ankle" injury.
Penalty flags were abundant, particularly holding calls that nullified several good plays—something for the coaching staff to clean up as camp progresses.
With WRs Jauan Jennings and Ricky Pearsall sidelined, veteran Demarcus Robinson and rookie Jordan Watkins saw an expanded workload.
DE Nick Bosa faced RT Colton McKivitz in one-on-one drills, winning the first rep with a spin move. McKivitz responded with a win of his own, but Bosa came back to dominate the third matchup with a bull rush.
ESPN's Nick Wagoner noted, "Not sure the 49ers have anyone who can block him consistently right now. Bryce Huff isn't far behind, either. That combo could be what the Niners need to revitalize the pass rush ... if they can stop the run first."
DE Jaylon Allen, signed Tuesday morning, flashed quickness off the snap but also showed signs of being new to the scheme. He was beaten a couple of times during one-on-one drills.
DE Bryce Huff played one season with Allen at Memphis and shared his thoughts on the newcomer.
"He's an explosive player," Huff said. "He loves to work. He hit me up yesterday. He was like, 'What do I need to know? How can I prepare myself for camp today?' I told him, "Stay hydrated. Be ready to get off on your track. When the ball snaps on a pass, you've got to go hunt.
"And then today, he had a great day. I haven't seen him play in a minute because we've been on different teams and stuff, but that's the most explosive I've seen him since I've known him, so it was good to see, for sure."
Rookie DT CJ West got into a brief shoving match with OL Matt Hennessy. However, he again impressed in one-on-ones after a dominant performance on Monday.
C Jake Brendel shared his early impressions of West, saying, "He's a lot more of a fast-twitch guy. He has a lot of kind of side-to-side movement, side-to-side speed, and he's got a lot of dynamic strength in the pass rush. One-on-ones, you guys are out there, you see him. He's had a lot of success."
With CBs Deommodore Lenoir and Renardo Green out, Dallis Flowers and Darrell Luter started on the outside while rookie Upton Stout handled slot duties.
LB Luke Gifford intercepted QB Brock Purdy thanks to pressure from DE Sam Okuayinonu. Late in practice, CB Tre Avery recovered a fumble by RB Corey Kiner after a catch from QB Tanner Mordecai.
There was a brief scare when DT Jordan Elliott tumbled into the pocket and rolled into QB Brock Purdy's right ankle as RB Isaac Guerendo carried the ball to the left. Fortunately, Purdy avoided injury, quickly tested the ankle on the sideline, and returned to finish practice without issue.
C Jake Brendel spoke about the incident afterward.
"This is just kind of the things that come with our defensive scheme and our defensive techniques," Brendel explained. "They're very, very coiled as a defensive line, and right at the snap, they're gonna unleash as much strength and as much power as they can, vertically, trying to get that push.
"We had an outside play called that was never going to be touched by a guy in the 'A' gap, so I kind of let him (Elliott) do his thing, and he just kind of fell forward."
The collision appeared to be purely accidental. As a reminder, quarterbacks wear black jerseys in practice to signal defenders to avoid contact.
Brock Purdy connected with rookie WR Jordan Watkins on a deep post for a 40-plus-yard touchdown. Watkins was going against CB Darrell Luter and S Jason Pinnock on the play.
"That's what 4.37-second speed looks like," commented Noah Furtado of the San Francisco Chronicle.
Home-run ball 40-plus yards downfield from Brock Purdy to rookie WR Jordan Watkins, who outran the safety help over the top. That's what 4.37-second speed looks like.— Noah Furtado (@_noahfurtado) July 29, 2025
Purdy also threw would-be touchdowns to TE George Kittle and WR Russell Gage, finishing 6-of-11 with one interception (per Bay Area News Group's Cam Inman), including a 3-of-6 finish after the ankle incident.
Mac Jones continues to look more and more comfortable as training camp progresses. He was 10-of-13 in practice, and Tanner Mordecai was 5-of-8 (per Cam Inman).
After no attempts on Monday, Jake Moody and Greg Joseph went a perfect 4-for-4, hitting from 28, 36, 41, and 48 yards out.
Players are off on Wednesday, July 30. The 49ers will hold their next practice on Thursday, July 31, at 10:25 a.m. PT.
#49ers Nick Bosa getting loose for Day ✌? in pads pic.twitter.com/70PLhWrAIR— OurSF49ers (@OurSf49ers) July 29, 2025
#49ers CB Renardo Green working his way back from his hamstring injury doing light rehab off to the side pic.twitter.com/Vvnavt355Y— OurSF49ers (@OurSf49ers) July 29, 2025
#49ers Brandon Aiyuk at practice today going through routes pic.twitter.com/JGOMAe8A0I— ???????????????????????????????????????????? (@TheSFNiners) July 29, 2025
#49ers newest DE Jaylon Allen who was signed todayAlso, no Mykel Williams at practice pic.twitter.com/2cZbdZW1Cl
— ???????????????????????????????????????????? (@TheSFNiners) July 29, 2025
#49ers LB Curtis Robinson (ACL) working back from injury pic.twitter.com/mmcGGf2gx7— OurSF49ers (@OurSf49ers) July 29, 2025
Intense 1-on-1 battle between Nick Bosa and Colton McKivitz.Bosa spin move put McKivitz on his back. McKivitz responded with a win the very next rep. Bosa asked for one more and took the tiebreaker via a bull rush.
— Noah Furtado (@_noahfurtado) July 29, 2025
Better together pic.twitter.com/aYDH0FA69P— San Francisco 49ers (@49ers) July 29, 2025
Brock Purdy aired it out — 40+ yards downfield — and rookie WR Jordan Watkins ran under it on a deep post for a long TD vs. Darrell Luter and Jason Pinnock.— Matt Maiocco (@MaioccoNBCS) July 29, 2025
No DE Mykel Williams today. He was out with a minor ankle injury. Ricky Pearsall had a scheduled maintenance day. That made the top WRs Demarcus Robinson and Jordan Watkins— Matt Barrows (@mattbarrows) July 29, 2025
CJ West continues to make noise at camp! — 95.7 The Game (@957thegame) July 29, 2025
Notes and observations from #49ers practice No. 6:- This was the final practice in this group of three and the Niners were again in pads. It wasn't as long as yesterday but a "medium" session with plenty of work to be done. It was also the warmest day of camp, which might have…
— Nick Wagoner (@nwagoner) July 29, 2025
More from 49ers Webzone:
More must-reads:
Get the latest news and rumors, customized to your favorite sports and teams. Emailed daily. Always free!