49ers
Preseason Takeaways

Five Rookies Started And The Kicker Scored All Eighteen Points

San Francisco closed the preseason 2-1 with a game nobody reached the end zone in. Carver Willis started at left guard for the second straight week, the two candidates behind him did not dress, and Kyle Shanahan says the job is not decided.

SK
Sam KezarAug 28, 20265 min read
Jaden Dugger, No. 53, in a white 49ers practice jersey and gold helmet, jogging with his head turned to the field during a training camp practice in Santa Clara. A club gallery photograph, not from Las Vegas.

San Francisco beat Las Vegas 18-12 at Allegiant Stadium on Thursday night and finished the preseason 2-1. Nobody scored a touchdown. The official game book has both teams at zero, the 49ers at six field goals and the Raiders at four, and it lists five rookies in the San Francisco starting lineup.

The roster is due at 53 on Sunday at 3:00 p.m. PT.

1. Carver Willis started at left guard again, and the two candidates behind him did not dress.

The game book's lineup card has the rookie at left guard for the second straight game, with Enrique Cruz Jr. at left tackle, Drake Nugent at center, Connor Colby at right guard and Brandon Parker at right tackle. Willis played 25 of San Francisco's 61 offensive snaps, 41 percent. Colby played 51. Nick Zakelj, who did not start, played 46.

Austen Pleasants and Robert Jones are both on the game book's Did Not Play list. Kirk Larrabee, at 49ers Webzone, reported a knee for Pleasants and a calf for Jones. Four men have taken left guard reps this August and two of them spent the last audition in street clothes.

Kyle Shanahan, after the game: "I think he is making a push. We still haven't decided yet. I really want to see how he did in the whole half of play he got today." On timing: "We'll have to make that decision most likely, I don't want to say by Monday. But I think we'll have a good idea by then."

Willis, to The Athletic on Thursday: "My angles in the run game aren't very complementary of the guys next to me."

2. Two rookies played every snap of their side of the ball.

Cruz played all 61 offensive snaps at left tackle. Jalen Stroman played all 66 defensive snaps at safety. The roster page lists both as rookies.

Stroman's number is opportunity as much as verdict. Ji'Ayir Brown, Malik Mustapha and Marques Sigle are all on the Did Not Play list, which is every other safety in that conversation. Cruz has no such asterisk.

3. Jaden Dugger led the 49ers in tackles.

The fifth-round rookie out of Louisiana played 48 of 66 defensive snaps and finished with five solo tackles and five assists, plus two quarterback hits. No sack, no tackle for loss. The game book credits him with a quarterback hit on each of the two incompletions that ended a third-quarter Las Vegas drive at the San Francisco 36, which then produced a missed 54-yard field goal.

Shanahan, via Larrabee: "I thought he had some ups and downs throughout the game, and that's why I kept him in there a little bit longer, but I thought he finished pretty strong."

4. Jordan James played his first snaps of the preseason, and one of them erased a touchdown.

James missed most of camp with a rib injury and had not carried the ball in either of the first two games. He took 25 offensive snaps: eight carries for 35 yards with a long of 17, and one catch for 20 on a screen.

Then, first and goal at the Las Vegas 9 in the third quarter, Adrian Martinez threw a nine-yard touchdown to Hayden Rucci and James was flagged for a low block. San Francisco went backward 20 yards, lost another on a checkdown, threw two incompletions and kicked from 48.

Shanahan: "He missed a ton of camp, too, with his injury, and had the same thing last year. From what I saw out there live, I thought he ran real hard and ran real well."

He also closed a door. Asked whether James may have to wait behind Christian McCaffrey and Kaelon Black: "Yeah, most likely. There's got to be a big reason to do a three-man rotation. We don't just do that to do it."

5. Sincere McCormick carried seven times for eight yards.

That is 1.1 a carry with a long of six, on 12 snaps. Black, the rookie, started and took four carries for 28. Khalil Herbert had eight for 39. The run game as a whole was fine: 33 carries for 146 yards, 4.4 a carry.

6. Jordan Watkins did four jobs.

The second-year receiver played 53 of 61 offensive snaps. He caught four passes on eight targets for 64 yards, including a 19-yarder on third and 12 that kept the drive that tied the game. He ran three times for 27. He returned two punts for 14 and two kickoffs for 48. He was the only 49er credited in all four columns.

Shanahan on the one he missed: "I thought he missed one earlier on the first third down on the wide-and-go that looked like he never found, so that one was disappointing. But I thought he bounced back good after that."

De'Zhaun Stribling, the rookie receiver, did not dress. Neither did Jacob Cowing.

7. Eddy Pineiro made six field goals and San Francisco scored no other points.

From 24, 25, 48, 59, 51 and 54 yards. Four were from 48 or longer, and the 59 gave San Francisco its first lead.

San Francisco went 0 for 3 in the red zone and 0 for 3 in goal-to-go situations, converted 4 of 15 third downs, and took nine penalties for 84 yards against two for 15. Isaac Alarcon false-started twice on the same third-quarter possession.

8. Three injuries, all named by the coach.

Ephesians Prysock, the rookie corner, left in the first quarter with what Shanahan called an AC sprain in his shoulder. The game book has him at two snaps. Brayden Willis, who started at tight end, went out with a concussion. Jalen Graham was checked by the spotter, cleared, and finished with 31 snaps.

Alfred Collins played 29 defensive snaps. Shanahan explained why: "He had a real late start, which is not his fault. He had some big surgeries to get over this offseason. He went I think two drives into the third quarter, which is more than what we would usually do for him." He expects Collins ready for Week 1.

Jah Joyner, signed this week, played 23 defensive snaps.

Asked whether any bubble player had stood out, Shanahan declined to say. "I have no problem with praising people, but people in this league get paid a lot of money to read everything we say and evaluate decisions over these next three days."

San Francisco opens against the Rams at the Melbourne Cricket Ground on September 10.

Sources: Official NFL game book, 8/27/2026; 49ers.com recap and roster page; 49ers Webzone (Bonilla, Larrabee) and The Athletic, August 27.

Filed under 49ers

More on Kaelon Black

His page →
Camp Battles

Jordan James And Kaelon Black Have Eight Preseason Carries Between Them

San Francisco opened camp with a two-man competition to back up Christian McCaffrey. Across two preseason games Kaelon Black has carried the ball eight times and Jordan James has not carried it at all, because one had an adductor injury and the other a fractured rib. Sincere McCormick, a third-year back outside the projected 53, leads the team with 16 carries for 91 yards. One practice and one game remain before the roster is due Sunday.

Sam KezarAug 24, 20264 min read
Jordan James And Kaelon Black Have Eight Preseason Carries Between Them
Camp Notebook

Carver Willis Took The First-Team Left Guard Reps In El Segundo

Notes from Tuesday's joint practice against the Chargers in El Segundo, in order of what they do to the 53. The left guard competition moved, the secondary gave up deep balls to three different men, and a number of starters will play Thursday.

Sam KezarAug 18, 20263 min read
Carver Willis Took The First-Team Left Guard Reps In El Segundo

More on Jordan James

His page →
Camp Notebook

Both Of The 49ers' Outside Cornerbacks Missed The Same Practice

The 49ers announced shoulder injuries for cornerback Deommodore Lenoir and rookie receiver De'Zhaun Stribling on Saturday, calling both day-to-day, and Renardo Green did not practice two days after the hamstring that took him out of the Chargers game. Jordan James practiced for the first time this camp, and Dominick Puni and C.J. West cleared the concussion protocol. Nick Bosa and Christian McCaffrey were not in a session Kyle Shanahan had described them as on track for. Eight days to the cutdown, and nothing crossed the line on the 53-man tracker.

Sam KezarAug 22, 20263 min read
Both Of The 49ers' Outside Cornerbacks Missed The Same Practice
Camp Notebook

Pearsall's Knee, Two Quarterback Lines, And A Strip-Sack To Open Team Drills

Nick Wagoner reported swelling in Ricky Pearsall's knee from a PCL injury carried over from last season, with surgery being explored. Jordan James has a fractured rib and Malik Mustapha a hamstring strain. Purdy completed 14 of 18 in team drills, Mac Jones 11 of 15, and Dre Greenlaw opened team drills by stripping Christian McCaffrey.

Sam KezarJul 29, 20263 min read
Pearsall's Knee, Two Quarterback Lines, And A Strip-Sack To Open Team Drills

On the record

Called Shots →
OpenJul 29, 2026

Kaelon Black is on the San Francisco 49ers' initial 53-man roster as announced at the August 30, 2026 mandatory cut. Scored off the initial 53 only: the practice squad is a miss, a later signing or elevation after the initial roster is a miss, and being placed on injured reserve from the initial 53 counts as a hit.

Black is a rookie running back whose Wednesday workload increased because Jordan James fractured a rib, which is the most fragile possible reason to be getting reps. If James is back before cut day the reps go with him. Against the call: the 49ers carried McCaffrey plus a thin room behind him, and a back who has taken first-team-adjacent work in camp is usually kept over a body they would have to teach. This resolves in 32 days and it is genuinely close.