The San Francisco 49ers held their 14th training camp practice on Tuesday, as they gear up for their upcoming preseason game against the Las Vegas Raiders.
Here are some key highlights from the 10:25 a.m. PT practice at the SAP Performance Facility, compiled from multiple media reports.
Noteworthy non-participants
- DE Robert Beal Jr. (groin)
- DE Nick Bosa (rest)
- CB Tre Brown
- DT Jordan Elliott (back)
- DT Kevin Givens (pectoral)
- S Richie Grant (knee)
- CB Renardo Green (hamstring)
- RB Isaac Guerendo (shoulder)
- RB Jordan James (broken finger)
- WR Jauan Jennings (calf)
- CB Fabian Moreau
- DE Sam Okuayinonu (groin)
- CB Upton Stout (calf)
- WR Jordan Watkins (high-ankle)
- DL Mykel Williams (knee)
WR Jacob Cowing (hamstring) returned to practice after missing all but the first session of training camp.
Unavailable players
Physically unable to perform (PUP)- WR Brandon Aiyuk (ACL/MCL)
- DE Yetur Gross-Matos (knee)
- S Malik Mustapha (ACL)
Non-football injury (NFI)
- QB Kurtis Rourke (ACL)
Injured reserve (IR)
- RB Ameer Abdullah (ribs)
- DE Tarron Jackson (neck)
- WR Equanimeous St. Brown (foot)
- WR Trent Taylor (back)
- CB Tre Tomlinson (undisclosed)
Injury updates
Rookie Connor Colby received reps at left guard with the first-team offense after Ben Bartch, the frontrunner for the starting job, left practice early and headed to the training room. No official update has been provided.
Ben Bartch seemed to hurt his right arm/elbow on a running play early in practice. Rookie Connor Colby took over at LG with the 1s. Nick Zakelj played RG with the 2s, got some C snaps with the 3s.
— Matt Barrows (@mattbarrows) August 12, 2025
Tryouts
According to the NFL transaction wire, the 49ers held tryouts for the following players:
- WR Jalen Camp
- WR Frank Darby
- WR Kwamie Lassiter
- QB Spencer Petras
- WR Malik Turner
Offensive notes
WR Brandon Aiyuk isn't ready to return to the practice field, but he looks eager to do so. He was seen running on his own as his teammates warmed up.
For the second straight practice, the 49ers skipped one-on-one drills due to a shortage of healthy players.
QB Brock Purdy frequently connected with TE George Kittle during team drills, including a couple of perfectly thrown touchdown passes. One highlight featured Purdy finding Kittle on a deep route along the right sideline for a touchdown. It could be a big season for the duo.
Purdy also scrambled for a score.
Late in practice, RB Christian McCaffrey caught a swing pass from Purdy in red-zone drills and took it into the end zone. Earlier, McCaffrey had a notable run up the left side, aided by strong blocks from OT Trent Williams and FB Kyle Juszczyk.
QB Mac Jones connected with WR Robbie Chosen over the middle for a significant gain.
The play of the day undoubtedly belonged to RG Dominick Puni. He hauled in a tipped Purdy pass intended for Juszczyk on a screen and turned it into a touchdown run. The sidelines erupted after the play. "One of the most electric plays of training camp," wrote Brad Graham of TheSFNiners.
Quarterback statistics
Brock Purdy completed 14 of 17 passes, per ESPN's Nick Wagoner.
Mac Jones was perfect, going 9-for-9 on the day.
Defensive notes
S Marques Sigle worked with the first-team defense alongside Ji'Ayir Brown. On Monday, head coach Kyle Shanahan was asked if the rookie has a chance to earn a starting job.
"Yeah, I'd say so," Shanahan responded. "I think there's a lot of open competition there. I thought he had a really good game (on Saturday), special teams and on defense, so I wouldn't rule him out for that."
On Tuesday, defensive coordinator Robert Saleh was asked about Sigle's time working with the first-team defense, and what it might signify.
"He shows a lot of good things," Saleh said. "It's a combination of one, he's earned that right, and two, the safety group is a little beat up right now, so it's a good opportunity for him. He went out in the preseason game, and I thought he did a really nice job, especially out of the middle of the field and erasing tackles when it was just him in the back in the hole. But he's done a really good job.
"He's shown that he can handle both the free and the strong [safety spots], mentally. He's showing that he's got all the things that are required out of a safety from a movement standpoint, speed, instinct, and violence part."
Meanwhile, Brown had a tough day covering Kittle, though the tight end's success was largely due to excellent throws from Purdy.
With Renardo Green still sidelined, Deommodore Lenoir and Dallis Flowers started at cornerback.
DE Bryce Huff had a strong practice, registering two would-be sacks. DT Kalia Davis seemingly contributed another.
Special teams notes
In addition to practicing on offense, WR Jacob Cowing worked as a returner alongside WR Junior Bergen.
K Jake Moody was flawless, connecting on all seven field goal attempts, including two from beyond 50 yards.
Next practice
The 49ers have Wednesday off before traveling to Henderson, Nevada, for a joint practice with the Las Vegas Raiders on Thursday, August 14, starting at 8:45 a.m. PT.
Social media: 49ers practice updates
#49ers RB Christian McCaffrey getting loose for the final open training camp practice of the year 🫡 pic.twitter.com/aRRtio0Xl5
— OurSF49ers (@OurSf49ers) August 12, 2025
#49ers get reinforcements as WR Jacob Cowing is returning to practice today pic.twitter.com/iNRNKpZ3Uc
— ???????????????????????????????????????????? (@TheSFNiners) August 12, 2025
#49ers rookie Junior Bergen is catching punts while holding his gloves in one hand and shoeless untied 😂 pic.twitter.com/7y9Dhdyr8y
— ???????????????????????????????????????????? (@TheSFNiners) August 12, 2025
Jacob Cowing is in fact back at practice for the #49ers: pic.twitter.com/2GipTTW7aM
— Tracy Sandler (@TracyFGSN) August 12, 2025
49ers Ji'Ayir Brown is dressed and appeared to be practicing today but he is now with the rehab group pic.twitter.com/5d2E7GlN8q
— Brad (@Graham_SFN) August 12, 2025
#49ers Fred Warner still putting in work with LB coach Johnny Holland pic.twitter.com/YaIPG4DGUD
— ???????????????????????????????????????????? (@TheSFNiners) August 12, 2025
#49ers CB Renardo Green (hamstring) continues to rehab on the side field at practice 🙏🏼 pic.twitter.com/PKCjEw1JfJ
— OurSF49ers (@OurSf49ers) August 12, 2025
#49ers RB Isaac Guerendo (shoulder) also working off to the side field 👀 pic.twitter.com/TWo8gaqUxk
— OurSF49ers (@OurSf49ers) August 12, 2025
#49ers Jacob Cowing back in the mix pic.twitter.com/VNEsd0SVeI
— ???????????????????????????????????????????? (@TheSFNiners) August 12, 2025
#49ers Deommodore Lenoir: QB1 😂 pic.twitter.com/1ZnJK2N1mn
— ???????????????????????????????????????????? (@TheSFNiners) August 12, 2025
You can tell #49ers Brandon Aiyuk wants to get back on the field pic.twitter.com/BigrwqeLJ6
— ???????????????????????????????????????????? (@TheSFNiners) August 12, 2025
Aiyuk nearing his return 👀💯👀 pic.twitter.com/4JnKJFTGbO
— 95.7 The Game (@957thegame) August 12, 2025
49ers K Jake Moody was 7-for-7 on field goals of increasing distance, the final two from beyond 50 yards.
— Matt Maiocco (@MaioccoNBCS) August 12, 2025
Ben Bartch just walked into the trainers room
Not ideal https://t.co/pNqcRtgHzh
— Brad (@Graham_SFN) August 12, 2025
Purdy and Kittle have connected for a few explosive plays today, including two touchdowns and a tight-window throw down the seam. Nothing new from those two.
— Noah Furtado (@_noahfurtado) August 12, 2025
Brock Purdy dropped two BEAUTIFUL DIMES to George Kittle
One over the middle that looked to be an INT but cleared all defenders and landed only where GK could snag it
Brock hit Kittle in stride up right sideline — beautiful ball placement
— Brad (@Graham_SFN) August 12, 2025
DOMINIC PUNI TOUCHDOWN!
Ball looked to be tipped on screen type play, falls into Puni's lap and he turns on the jets for six
One of the most electric plays of training camp
— Brad (@Graham_SFN) August 12, 2025
49ers 14th-practice
— Cam Inman (@CamInman) August 12, 2025
*WR Cowing participates first time since hammy Day 1
*Bosa rest day, 5 other DL out
*CMC 4 carries in 5 snaps, TD catch from Purdy in RZ on next-last play
*Purdy-to-Kittle TD caps first drive, encore later vs Brown
*Jake 7/7 FG
*LG Bartch exits early pic.twitter.com/57OiT4lKKO
Notes and observations from #49ers practice No. 14:
- An 87-minute practice for the Niners on a relatively warm day but with a lot of players still missing. For the second straight day, they skipped one on one drills, so most of the below is observed from team periods.
- Here's…
— Nick Wagoner (@nwagoner) August 12, 2025