The San Francisco 49ers held their 18th training camp practice on Thursday, as they prepare for their preseason finale against the Los Angeles Chargers.
The 49ers traded for Kansas City Chiefs WR Skyy Moore. However, he did not participate at the start of practice since he still needed to pass a physical for the deal to become official. The receiver eventually made it onto the practice field wearing No. 6.
Skyy Moore has arrived and is wearing No 6 (for now). He's warming up as the 49ers start 11-on-11 work. https://t.co/wmRBmeREtC
— Matt Barrows (@mattbarrows) August 21, 2025
Additionally, the 49ers made several roster moves on Thursday. They signed QB Tanner Mordecai to a one-year deal, released QB Nate Sudfeld, and placed CB Tre Brown on the injured reserve list.
Here are some key highlights from the 11:25 a.m. PT practice at the SAP Performance Facility, compiled from multiple media reports.
Noteworthy non-participants
- LG Ben Bartch (elbow)
- LB Stone Blanton
- WR Jacob Cowing (hamstring)
- WR Russell Gage (MCL sprain)
- DT Kevin Givens (pectoral)
- S Richie Grant (knee)
- RB Jordan James (broken finger)
- WR Jauan Jennings (calf)
- QB Mac Jones (knee)
- CB Fabian Moreau
- RG Dominick Puni (knee)
- CB Upton Stout (calf)
- WR Jordan Watkins (high-ankle)
- DT CJ West
- DL Mykel Williams (knee)
Injury updates
DE Robert Beal Jr. (abductor) and WR Malik Turner (unspecified) returned to practice.
RB Corey Kiner was waived/injured this week after suffering a high-ankle sprain. He cleared waivers and reverted to the 49ers' injured reserve list.
Rookie CB Upton Stout (calf) and LB Stone Blanton worked on the side during practice.
WR Demarcus Robinson worked on the side during individual drills but did get some reps in team drills. It's unclear if he is dealing with an issue.
LT Trent Williams was slow to get up after going to the ground on consecutive plays. However, he remained in practice.
"It's a part of football," Williams said after practice. "We try to make a conscious effort in practice to stay off the ground, but you can't ask guys to practice hard and then not practice hard enough to where you can't fall. It's just one of the things you've gotta be conscious of, as a team, to help cut out the unnecessary people on the ground. But it happens."
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)
- CB Tre Brown (heel)
- OL Andre Dillard (ankle)
- DE Tarron Jackson (neck)
- RB Corey Kiner (high-ankle)
- RB Patrick Taylor Jr. (shoulder)
- WR Trent Taylor (back)
- CB Tre Tomlinson (undisclosed)
49ers embracing a one-week-at-a-time mentality
After practice, Trent Williams made it clear he doesn't believe there's a "Super Bowl-or-bust" mentality inside the 49ers' locker room. The team understands it faces challenges this season, especially after a major offseason roster overhaul and a wave of injuries.
"I don't look at it as being anything or bust, but obviously, we want to be successful," Williams said. "We have the talent to be successful, and there's no greater motivator than the Super Bowl being here, right in our backyard.
"Obviously, we've got a long way to go. We've got to get to Week 1. We need to get some guys back in the lineup. But, no, I think this team, for us to maximize our potential, I think we've got to focus one week at a time.
"I don't think the Super Bowl should be at the forefront of anybody's mind. I think it should be having the best regular season we possibly can have, then getting into a playoff game, letting it go from there."
Offensive notes
Newcomer Skyy Moore was worked into the offense during team and red zone drills.
RB Christian McCaffrey received a heavy workload for the second straight practice. He hauled in a touchdown during red zone drills from QB Brock Purdy and later scored again on a handoff from Purdy.
"Christian looks fantastic," Williams said. "He looks like Offensive Player of the Year Christian. That's really, really refreshing to see, knowing what he had to deal with last year, just the little nicks and knacks, and not being able to do what he loves."
FB Kyle Juszczyk came away with his own touchdown reception a couple of plays later.
RB Isaac Guerendo appeared to have some ball security issues, with possible fumbles during practice.
Purdy finished the day 16-of-21 with a throwaway and drops by WRs Terique Owens and Ricky Pearsall, per ESPN's Nick Wagoner.
"His two best balls of the day?" Wagoner wrote. "The pass to Owens which was perfectly placed between two defenders before Owens broke but it went through his hands. Two plays later, Purdy dropped a deep out to TE George Kittle that was right on the money with Brown in coverage. His throw to Pearsall to the back corner of the end zone was also on the money but Pearsall was ruled out of bounds."
Defensive notes
There were no one-on-one drills this practice, likely due to the number of injuries the team has endured.
DE Nick Bosa hasn't participated in team drills since returning from neck soreness.
Jason Pinnock, Marques Sigle, and Ji'Ayir Brown rotated at safety, with a combination of the first two getting the bulk of the work side by side.
DT Alfred Collins continues to have up-and-down practices. Wagoner noted that the rookie is tough to move in run defense when his pad level is right, but struggles when it isn't.
Special teams notes
After practice, special teams coordinator Brant Boyer discussed Jake Moody's game-winning field goal from the preseason contest against the Raiders.
"I mean, it could change his career," Boyer said. "What I really liked about his response from the 52-yard miss, I believe, I think he showed a lot of character in that moment, where he came back and he hit two clutch [kicks]—the one to tie it, and the one to win it.
"I think he showed the moxie he has, and the confidence he's starting to gain. I think it was critical for him. It was awesome to see the kid and how he rebounded in that moment."
During practice, Moody connected on his first three field goal attempts but missed from 47 yards (wide left) and 55 yards (bounced off the right upright). Despite his preseason heroics, Moody's inconsistency could remain a storyline this season.
Social media: 49ers practice updates
49ers QB taxi squad moves:
Tanner Mordecai is back
Nate Sudfeld is outSkyy Moore not practicing as needs to pass physical to complete trade from Chiefs pic.twitter.com/e5vGrXzmsj
— Cam Inman (@CamInman) August 21, 2025
Newly acquired #49ers WR Skyy Moore was just greeted by Brock Purdy, George Kittle and Ricky Pearsall at practice. Moore now getting some work in with position coach Leonard Hankerson on a side field.
— Noah Furtado (@_noahfurtado) August 21, 2025
#49ers down to seven receivers for practice today before Demarcus Robinson and Skyy Moore joined later for team drills. Moore got in briefly. pic.twitter.com/FRyuhKNuZu
— Nick Wagoner (@nwagoner) August 21, 2025
49ers final practice before Saturday preseason finale:
Play of day: Purdy to Pearsall TD in red zone
Skyy Moore joined for couple plays late but not targeted
Nick Bosa did DL warmups but stayed out of 11v11
Fred Warner got very mad at perhaps McKivitz
Moody miss last 2 FG
— Cam Inman (@CamInman) August 21, 2025
Trent Williams got up a bit slow after a McCaffrey run in 11-on-11 but stayed in and finished the rest of practice.
— Noah Furtado (@_noahfurtado) August 21, 2025
Moore played several 11-on-11 reps late in practice. He showed up about an hour in, did mobility for a half-hour and then joined the group. https://t.co/6kzwrGOOez
— Noah Furtado (@_noahfurtado) August 21, 2025
QB Tanner Mordecai reclaimed the No. 4 jersey from QB Nate Sudfeld, who is no longer on the #49ers roster after two practices. DE Robert Beal (groin) and WR Malik Turner (?) returned to practice.
— Noah Furtado (@_noahfurtado) August 21, 2025
Jake Moody kicked 3-for-5 during the FG practice period. Made his first three from 33, 40 and 43, missed next two from 47 (wide left from right hash) and 55 (bounced off right post).
— Noah Furtado (@_noahfurtado) August 21, 2025
Practice notes:
— Matt Barrows (@mattbarrows) August 21, 2025
* Skyy Moore ended up getting some 11-on-11 snaps, including in the RZ
* Jason Pinnock, Ji'Ayir Brown & Marques Sigle rotated w/ the first-string D. It seemed like the Pinnock/Sigle duo got the most snaps
* Brief scuffle involving -- shocker! -- Fred Warner.
Notes and observations from #49ers practice No. 18:
- Perhaps the warmest practice of this camp as the Niners went for roughly 90 minutes today. No one on ones but plenty of work for the starters, perhaps an indication they won't play many on Saturday or if they do for a brief…
— Nick Wagoner (@nwagoner) August 21, 2025