The San Francisco 49ers held their 15th training camp practice on Thursday—a joint practice with the Las Vegas Raiders in Henderson, Nevada. Both teams are gearing up for Saturday's preseason contest at Allegiant Stadium.
Ahead of practice, the 49ers signed defensive ends William Bradley-King and Demone Harris to one-year deals. Additionally, the team placed offensive lineman Andre Dillard on injured reserve and waived defensive lineman Michael Dwumfour.
Dillard had worked his way back from offseason ankle surgery before suffering a setback.
"Would have been nice to have him, but he had a rough injury," head coach Kyle Shanahan said.
Here are some key highlights from the 8:45 a.m. PT practice at the Intermountain Health Performance Center, compiled from multiple media reports.
Noteworthy non-participants
- LG Ben Bartch (elbow)
- DE Robert Beal Jr. (abductor)
- DE Nick Bosa (neck soreness)
- CB Tre Brown (heel)
- 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
- S Jason Pinnock (heel)
- DE Sam Okuayinonu (groin)
- CB Upton Stout (calf)
- WR Jordan Watkins (high-ankle)
- DL Mykel Williams (knee)
Unavailable players
Physically unable to perform (PUP)- WR Brandon Aiyuk (ACL/MCL)
- DE Yetur Gross-Matos (knee)
- S Malik Mustapha (ACL)
- QB Kurtis Rourke (ACL)
Injured reserve (IR)
- RB Ameer Abdullah (ribs)
- DE Bradlee Anae (undisclosed)
- OL Andre Dillard (ankle)
- DE Tarron Jackson (neck)
- WR Equanimeous St. Brown (foot)
- WR Trent Taylor (back)
- CB Tre Tomlinson (undisclosed)
Injury updates
Rookie DT CJ West came up hobbling during a one-on-one pass rush drill. He limped off the field but seemed to be walking better after some time. Luckily, West has seemingly avoided a serious injury.
"CJ West hyperextended his knee," Shanahan said. "We think it's going to be all right, but it looks similar to what happened to [DL] Mykel [Williams] last week. His ACL and everything checked out so far, so hopefully, we'll be lucky."
DE Nick Bosa sat out with "neck soreness," according to Shanahan. The coach added, "Hopefully, he'll be back next week."
Tryouts
According to the NFL transaction wire, the 49ers held tryouts for the following players:
- DB Micah Abraham
- DB Myles Jones
Shanahan on practice challenges
After practice, Shanahan acknowledged the difficulties of the joint session with so many injuries testing the 49ers' depth.
"I was happy with the guys," Shanahan said. "I'm excited to see the film. You know, it was a huge challenge today, just having 20 guys out and how many ever we have on PUP and stuff. So, it was a challenge to get through that. I thought we needed it, and I was proud of the guys.
"A number of positions had to step up, especially with DB, D-line, wideout, but I thought we competed hard out there. I thought we did a good job, and excited to have the tape for these guys."
Offensive notes
Nick Zakelj took the majority of first-team reps at left guard with Bartch out. Rookie Connor Colby rotated in.
"I think he's getting better each week," Shanahan said of Colby. "When you get these guys in, at first, you try not to judge them too hard because it takes a while. But the cool thing about a lineman, if they just gradually get better each day, you kind of learn what we're asking. It's always different techniques.
"You never have a guy come out of college who is going to have to run as much as we ask him to. That always takes a number of days—sometimes a number of years—but I think he's improved a lot here in these last couple of weeks."
LT Trent Williams warmed up but did not participate in team drills.
"Starting to have new plus 36-year-old rules for certain people," Shanahan admitted. "His plus 36 might be a little different than our punter and long snappers, but Trent's playing at a very high level. ... You only have so many bull rushes, so many everything you have in you once you get to a certain age, and when you put a guy out there like Trent, everyone wants to measure themselves up against him."
Raiders DE Tyree Wilson rolled into QB Brock Purdy's ankle, but Purdy downplayed the significance.
"It's part of the game, man," Purdy said. "He came up to me and apologized after, and I was like, 'Dude, thanks for competing, bro. You're making us better.' It is what it is, and obviously, you just don't want anything dumb to happen."
FB Kyle Juszczyk caught a 40-yard would-be touchdown down the right sideline during a move-the-ball period.
Purdy thought the 49ers' offense had better rhythm against the Raiders than in last week's joint practice with the Denver Broncos.
"I thought our offense came out ready to roll and compete, and so I thought it was overall pretty good," Purdy said. "I think last week, obviously, the first half of practice was a little slow, but I thought we finished it good. I thought today was pretty good from beginning to end."
Defensive notes
LB Dee Winters continues to look like the frontrunner for the starting job next to Fred Warner. He was impressive during practice. Warner credits Winters' increasing practice reps and growing confidence in the scheme.
"Obviously, repetition is what allows you to become more and more confident," Warner said. "That's what he's finally getting now, is those reps."
Winters had a nice hit on rookie Raiders RB Ashton Jeanty, and later sent TE Michael Mayer to the ground after a reception from QB Geno Smith.
49ers DE Jaylon Allen showed restraint by not retaliating after a Raiders lineman took a swing at him near the end of practice.
"I have no problem with people fighting," Shanahan said. "I have a problem with hurting your football team and losing football games. We don't like people to fight on game day because, one, it's a 15-yard penalty. We like explosives. They're hard to get by. We don't like to just give them to people, and you get ejected. It's a lot harder to play with 45 and 46.
"Today, I looked at it even stronger. We're out here missing 20 guys. We have some positions that don't really have enough to go. I looked at it as if, if you get punched, and you throw a punch back, I told the guys it shows how mentally weak you are because all you're gonna do is leave five guys left to do the whole practice just because you couldn't handle getting hit in your face mask, and letting that hurt someone's hand."
There were a few more heated exchanges, but nothing that escalated into anything serious.
Newcomer DE Demone Harris recorded a would-be sack in his first practice with the team.
CB Chase Lucas had the day's only takeaway—an interception—while CB Dallis Flowers broke up a deep end-zone shot from Smith to WR Tre Tucker.
After West's injury, rookie DT Alfred Collins saw more first-team reps and notched a would-be sack against Smith.
Ji'Ayir Brown and Marques Sigle were the starting safeties. CBs Darrell Luter Jr. and Derrick Canteen surrendered a touchdown to Raiders WR Jakobi Meyers, while CB Deommodore Lenoir gave up a 35-yard Smith-to-Tucker score.
Special teams notes
K Jake Moody drilled his lone FG attempt from about 50 yards.
Next practice
The 49ers won't hold another full practice until after Saturday's preseason game against the Raiders. Dates and times for next week's sessions have not been announced.
Social media: 49ers practice updates
The ?@Raiders? and ?@49ers? getting set for joint practice here in Henderson. pic.twitter.com/gNikZlEVYM
— Vincent Bonsignore (@VinnyBonsignore) August 14, 2025
Battle of the Bay, at the Raiders' Vegas residency pic.twitter.com/sCHxp5Mpdx
— Cam Inman (@CamInman) August 14, 2025
DE Nick Bosa, experiencing soreness, is not practicing today against the Raiders. LG Ben Bartch (elbow) is not practicing, either.
— Matt Maiocco (@MaioccoNBCS) August 14, 2025
Kyle Shanahan X Pete Carroll ⚔? pic.twitter.com/MlZWdgDBHX
— OurSF49ers (@OurSf49ers) August 14, 2025
Heating up in the desert ?? pic.twitter.com/5clJgQJ4N0
— San Francisco 49ers (@49ers) August 14, 2025
With razor-thin DL depth, #49ers give up breakaway run against Raiders first-round pick Ashton Jeanty on one of the first 11-on-11 plays. Big hole.
Nick Bosa, Mykel Williams and Yetur Gross-Matos among Niners not practicing today.
— Noah Furtado (@_noahfurtado) August 14, 2025
C.J. West came up hobbling mid-way through a 1-on-1 rep. Looked like he buckled his left knee. He got up on his own and walked off the field with a slight limp after being tended to by trainers.
— Noah Furtado (@_noahfurtado) August 14, 2025
DT CJ West's left knee buckled and he went down during 1-on-1 pass rush drill. The 49ers' medical staff checked him out and he was able to walk back on his own for further observation.
— Matt Maiocco (@MaioccoNBCS) August 14, 2025
Chase Lucas secures interception off of a Raiders drop … Lucas once again getting a lot of run sans Upton Stout (calf). Tre Brown is back at practice today but I haven't seen him play any 11-on-11 snaps.
— Noah Furtado (@_noahfurtado) August 14, 2025
#49ers WR Terique Owens beating #Raiders DB Jonathan Sutherland during 1V1s at joint practice 🔥
Via: @49ers pic.twitter.com/OQ3zblfqdM
— OurSF49ers (@OurSf49ers) August 14, 2025
#49ers not practicing: DE Nick Bosa (soreness), NCB Upton Stout (calf), S Jason Pinnock (?), LG Ben Bartch (elbow), DE Yetur Gross-Matos (knee), CB Renardo Green (hamstring), DE Mykel Williams (knee), WR Jauan Jennings (calf), WR Jordan Watkins (ankle), S Richie Grant (knee), RB…
— Noah Furtado (@_noahfurtado) August 14, 2025
49ers-Raiders recap
— Cam Inman (@CamInman) August 14, 2025
🏈 No fights (Pete Carroll & Trent Williams intervened to cool things down 2x)
🏈 No 1v1 OL v DL
🏈 No Bosa (sore)
🏈 Skeleton DL crew
🏈 McCaffrey lot of action
🏈 Warner gave biggest hit/thud
🏈 Purdy near INT by Stokes
🏈 Kittle catching all pic.twitter.com/4xP7zMZF5M
#49ers practice @ LV
— Jennifer Lee Chan - also bluesky @jenniferleechan (@jenniferleechan) August 14, 2025
DL Nick Bosa was absent w soreness
LT Trent Williams was suited up but did not participate in team drills
OL Ben Bartch was on the sidelines watching
With the 1s
Spencer Burford was in at LT
Nick Zakelj at LG
Connor Colby rotated in at LG
Clean with it 😮?💨 pic.twitter.com/K6hCXwWpgR
— San Francisco 49ers (@49ers) August 14, 2025