Camp Notebook

Carver Willis Graded Last Among The Linemen In The Game He Started

The rookie started at left guard for the second straight week and PFF's grades from that night, released Friday, put him last among San Francisco's offensive linemen. Kyle Shanahan says he is making a push and the coaches will have a good idea by Monday. The roster is due at 53 on Sunday, and nobody practices in between.

SK
Sam KezarAug 28, 20264 min read
Every call on this site goes on a public ledger and gets graded. The misses stay up.
Jalen Stroman, No. 38, in a white 49ers practice jersey and gold helmet, crouched and turning to cover on a practice field in Santa Clara. A club gallery photograph from an offseason practice, not from Las Vegas.

Carver Willis started at left guard against the Raiders on Thursday, the second straight game he has started there, and played 25 of San Francisco's 61 offensive snaps. PFF's grades from that game, released Friday, rank him last among the 49ers' offensive linemen. They give Connor Colby, who started at right guard, the best pass-blocking grade of the night.

Kyle Shanahan, afterwards: "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 when it gets settled: "We'll have to make that decision most likely, I don't want to say by Monday. I don't know if we'll say it then with our opening game, but I think we'll have a good idea by then as coaches."

The coach and the grades point in opposite directions, and no new evidence arrives before the roster is due. Nobody practices between now and Monday.

1. San Francisco is off until after the roster is cut.

Shanahan said as much on Thursday night, in an answer about something else. Asked why Alfred Collins played into the third quarter of a preseason game: "I think today, and getting these three days off to recover, having those two and a half practices before we go to Australia, I think he'll be ready by Week 1."

Three days off from Thursday night is Friday, Saturday and Sunday. The deadline to reach 53 is Sunday at 3 p.m. Pacific, which is inside them.

That deadline is the first Sunday cutdown the NFL has held since 2004. The normal date would have been Tuesday, September 1, putting waiver claims on September 2. San Francisco flies to Melbourne on September 2 to open against the Rams on September 10, so the league moved all 32 clubs rather than one.

2. A veteran running back came off the roster on Friday afternoon.

The 49ers reached an injury settlement with Patrick Taylor Jr., which takes him off the club's injured reserve list and out of the building, per David Bonilla at 49ers Webzone reading the league's transaction report. Taylor went on injured reserve on August 20, in the move that opened a spot for Khalil Herbert. The club itself has announced nothing, and its own roster page still carried him under Reserve/Injured on Friday afternoon.

3. The linebacker San Francisco traded for on Tuesday graded out as the best 49er on the field.

The same set of grades ranks Deion Jones first among every San Francisco player in the game and gives him the club's best coverage grade of the night. He played 15 defensive snaps and nine on special teams, two days after arriving from New Orleans in exchange for running back Zamir White. He is 31, with ten NFL seasons, 128 regular-season games and 91 starts behind him, and he had signed with the Saints on August 7.

A club that gives up a running back for a 31-year-old linebacker five days before the cutdown has already decided something. The grade is the first evidence that arrived after the decision.

4. Alfred Collins is in the low group again.

PFF put Collins among its five lowest-graded San Francisco defenders in the finale. He played 29 snaps and stayed in two drives into the third quarter, which is longer than a projected starter usually lasts in a preseason game. Shanahan's account of the workload is the shoulder surgery: a late start that is not the player's fault, and extra reps to make it up. He expects Collins ready for Week 1.

5. Patrick Willis watched the broadcast and picked out the rookie linebacker.

Willis posted during Thursday's game that he was "seeing what Coach KJ saw" in Jaden Dugger, and called it subtle. Dugger, a fifth-round pick out of Louisiana, played 48 of the 66 defensive snaps, finished with ten tackles and two quarterback hits, and drew the highest pass-rushing grade PFF gave any 49er that night.

6. Jordan Watkins traces the run blocking to a conversation a year old.

Watkins led the game in receiving yards, four catches for 64 on eight targets, and carried three times for 27. On where the physicality came from: "Kyle challenged me last season to really be more physical, and that's something I really worked on. It had to do with bulking up a little bit and putting on some muscle."

On the room he is trying to make: "A lot of guys have been here for a very long time. But I feel like you just got to get in where you fit in."

7. What moved on the tracker.

One player crossed the cut line on Friday and it is Deion Jones, in. Dugger, Watkins and rookie safety Jalen Stroman all moved up without crossing it. Taylor came off the board entirely. Nobody crossed the line in the other direction.

The club's active table carried 89 names on Friday afternoon, with two more on the active/physically-unable-to-perform list. From 89 to 53 is thirty-six men. The next practice is Monday, and by then the arithmetic will be settled.

Sources: Kyle Shanahan's postgame availability and Patrick Willis's post, via Kirk Larrabee, 49ers Webzone, August 27. PFF grades and snap counts, and the Jordan Watkins and Patrick Taylor Jr. reports, via David Bonilla, 49ers Webzone, August 28. The Deion Jones trade terms and the Khalil Herbert signing, 49ers.com club releases, August 25 and August 20. Roster tables counted at 49ers.com. The cut deadline and its history, CBS Sports, August 28.

Filed under 49ers

More on Connor Colby

His page →
San Francisco Stopped The Rams On Fourth And One At Its Own 1, Then Drove 99 Yards
Week 1 Takeaways

San Francisco Stopped The Rams On Fourth And One At Its Own 1, Then Drove 99 Yards

The 49ers opened 1-0 with a 27-7 win over the Rams at the Melbourne Cricket Ground, Thursday evening in the Bay Area and Friday morning in Australia. Los Angeles reached the San Francisco 1 in the third quarter and turned the ball over on downs; San Francisco answered with an 11-play, 99-yard touchdown drive. Connor Colby started at left guard and the whole line played every snap, George Kittle played 30 of 65 in his return, Kaelon Black carried more often than Christian McCaffrey, and De'Zhaun Stribling started at receiver without being thrown to. Nine takeaways off the official game book.

Sam KezarSep 11, 20265 min read
Connor Colby And Kaelon Black Fill The Two Jobs Shanahan Called Fluid
Depth Chart

Connor Colby And Kaelon Black Fill The Two Jobs Shanahan Called Fluid

San Francisco's public depth chart carried an empty box at left guard from August 27 until this week. Read at 2:52 p.m. Pacific on Sunday, it is stamped 09/4/26 and lists Connor Colby first at left guard and Carver Willis second. It also lists Kaelon Black second at running back ahead of Jordan James, which is the other job Kyle Shanahan called fluid on August 31, and George Kittle and Nick Bosa as starters. Colby was the incumbent in July, was passed by Robert Jones and then by Willis in August, and is first again on the club's own page. Jarrett Patterson, traded for to compete at guard, is listed second at center. The chart predates three roster moves and has one empty box left, at long snapper. The first Melbourne practice is Sunday at 7:50 p.m. Pacific.

Sam KezarSep 6, 20264 min read
The 49ers Have Two Depth Charts And Only One Of Them Has A Left Guard
Camp Battles

The 49ers Have Two Depth Charts And Only One Of Them Has A Left Guard

The depth chart at 49ers.com carries twenty-nine position rows and a name in the first column of twenty-eight of them. Left guard is the twenty-ninth, its first column is empty, and the page stamps itself August 27, which was eight days ago. A separate one-page sheet dated September 2 lists Connor Colby first at left guard and Carver Willis second, and the club does not publish it: the media site its own pronunciation guide points to refuses a request from outside. Kyle Madson of Niners Wire reports that the sheet is assembled by the communications staff with no input from the coaches and binds nobody. Kyle Shanahan said on August 31 that he did not know who starts, and nothing since has replaced that. Seven of the seventy-two men still named on the club's live chart are on the September 2 sheet's injured reserve list, three of them offensive linemen.

Grant LombardSep 4, 20265 min read

More on Carver Willis

His page →
Kyle Juszczyk will miss a few weeks and the 49ers have no other fullback
49ers Notebook

Kyle Juszczyk will miss a few weeks and the 49ers have no other fullback

Kyle Shanahan said Monday that Kyle Juszczyk has a hyperextended knee and a bone bruise and will miss a few weeks, that Marques Sigle has a high ankle sprain, and that Upton Stout is day to day with a sprained AC joint. Brayden Willis, Luke Farrell and George Kittle share the fullback's work. Nick Bosa and James Thompson Jr. are probably out again at Seattle; Mykel Williams could be activated.

Sam KezarOct 5, 20263 min read
San Francisco won by 20 without a sack. Miami gave up five.
Game Week

San Francisco won by 20 without a sack. Miami gave up five.

San Francisco hosts Miami at 1:25 p.m. Pacific on FOX in its home opener. The 49ers beat the Rams 27-7 in Melbourne without a sack, taking eight quarterback hits instead, four of them by Osa Odighizuwa. Miami lost 27-13 at Las Vegas behind Malik Willis, who was sacked five times. Eddy Piñeiro is questionable with an illness that cost him all three practices, and the club auditioned two kickers Saturday and signed neither. Ten men to watch, and the reason the first one is the kicker.

Sam KezarSep 20, 20264 min read
San Francisco Promoted A Fourth Tight End And Worked Out Three More
49ers Roster

San Francisco Promoted A Fourth Tight End And Worked Out Three More

San Francisco promoted tight end Brayden Willis from the practice squad to the active roster on Tuesday morning and signed defensive lineman McKinnley Jackson to the practice squad. The promotion fills the roster spot Alfred Collins vacated on September 10 and puts the active roster back at 53. Hours later the NFL's transaction report showed the club had worked out five players, three of them tight ends. Jake Tonges, who played eight snaps in Melbourne before he was hurt, remains on the active roster with no injury designation and no published imaging result, and the club's Week 2 injury report does not exist yet. Willis has played 23 regular-season games, all with the 49ers, and has no career receptions.

Sam KezarSep 15, 20264 min read

On the record

Called Shots →
Held upJul 27, 2026

Connor Colby is the 49ers' starting left guard in the Week 1 game against the Los Angeles Rams on 2026-09-10. Scored off the official starting lineup for that game: Colby listed at left guard is a hit, any other player listed at left guard is a miss, including if Colby is unavailable through injury.

Made in the Camp Battles left guard primer. The basis is incumbency plus the calendar: Colby took all of the first-team left guard reps at the opening practice (Wagoner, ESPN, Jul 26), has roughly 450 snaps in this offense from six starts as a rookie, and Robert Jones has none while coming off a 2025 season lost to a neck injury. The call is genuinely at risk, and the falsifier is named in the piece: Jones opening the August 13 preseason game against Tennessee with the starters. Hurley's Niners Nation board already has Jones starting and Colby at backup right guard.

Latest on the 49ers

The whole beat →
The 49ers ran Las Vegas out of its plan before they took the ball away
49ers Deep Dive

The 49ers ran Las Vegas out of its plan before they took the ball away

San Francisco beat Las Vegas 38-17 on Sunday and is 7-1. The five second-half takeaways will be remembered, but the game was settled earlier. The 49ers' first three drives went 37 plays and 242 yards, took 19 minutes and 23 seconds and ended in touchdowns, and San Francisco ran 25 times for 125 yards before halftime. Las Vegas had the ball for 71 seconds in the first 13 minutes. Trailing by 11 at the half, the Raiders ran six times and threw 24 times after it, and Klint Kubiak said that being in position to throw on every down produces interceptions. The pass rush did not cause the turnovers: Cousins was hit twice on eight first-half throws and four times on 24 second-half throws. Two takeaways were punched out of receivers' hands, and one came off a fumbled exchange. The second half also showed a cost. San Francisco threw an interception, was stopped on fourth-and-1 at its own 40, and allowed 222 kickoff-return yards, and Las Vegas started three drives in 49ers territory. The game moved San Francisco's season turnover margin from minus-3 to plus-1. Las Vegas has now allowed 30 or more points six weeks running, so Dallas on Sunday is the first test of whether the formula holds.

Sam KezarNov 10, 20266 min read
The 49ers trade a sixth-round pick for Keenan Allen
49ers Notebook

The 49ers trade a sixth-round pick for Keenan Allen

San Francisco acquired wide receiver Keenan Allen from Indianapolis on Tuesday, deadline day, for a 2027 sixth-round pick, the league transaction wire shows. It is the second trade between the clubs in three weeks, after DeForest Buckner on Oct. 27. Allen, 34, played at Cal and is a six-time Pro Bowler with 1,095 career catches, eighth all time. He had 40 catches for 351 yards and one touchdown in eight games for the Colts, their team lead. The club placed Gracen Halton on injured reserve with a fractured ankle the same afternoon, and its roster page showed 52 on the active roster before Allen was added. Allen joins a receiver room missing Mike Evans and Deebo Samuel Sr. last Sunday. He caught four passes for 26 yards against Dallas in Week 9, and the 49ers play at Dallas on Sunday.

Sam KezarNov 10, 20263 min read
Five takeaways in one half, and the 49ers never sacked Kirk Cousins
Takeaways

Five takeaways in one half, and the 49ers never sacked Kirk Cousins

San Francisco beat Las Vegas 38-17 at Levi's Stadium on Sunday and is 7-1. The 49ers scored touchdowns on their first three possessions, did not punt, and ran 43 times for 190 yards. Las Vegas turned the ball over on five of its six second-half possessions: Jaden Dugger's 35-yard interception return on the first play of the half, two forced fumbles, and interceptions by Renardo Green and Malik Mustapha. The official game book credits San Francisco with no sacks and six quarterback hits, two of them on the plays Green and Mustapha intercepted. Nick Bosa played 39 of 50 defensive snaps in his first game since Sept. 20, and DeForest Buckner played 34. Jordan Watkins caught all four of his targets for 86 yards and his first NFL touchdown. Christian McCaffrey's 12-yard catch set the Super Bowl-era record for touchdown catches by a running back and was Brock Purdy's 100th touchdown pass. Gracen Halton broke his ankle and is out for the season, Shanahan said; Green (back) and Deommodore Lenoir (foot) did not return.

Sam KezarNov 9, 20265 min read

Earlier on the 49ers

Alfred Collins Is Named Once In The Entire Play-By-Play
Preseason Analysis

Alfred Collins Is Named Once In The Entire Play-By-Play

The film-and-grades read of San Francisco's 18-12 win at Las Vegas on Thursday, player by player. Alfred Collins played 29 of 66 defensive snaps and appears once in the game book's play-by-play, on an assisted tackle. PFF's four lowest-graded 49ers defenders in the game all played defensive tackle, and both San Francisco sacks came from edge men. Enrique Cruz Jr. played all 61 offensive snaps at left tackle. Carver Willis graded last among the 22 San Francisco offensive players PFF graded, and the split behind it is run blocking rather than pass protection, which is what Willis himself has said the problem is. Khalil Herbert graded highest on offense on 12 snaps. Darrell Luter Jr. started at corner, played 51 snaps and graded second among all San Francisco defenders.

Sam KezarAug 29, 20266 min read
One Of The Ninety Is Listed Two Different Ways
Roster

One Of The Ninety Is Listed Two Different Ways

San Francisco signed defensive lineman Xavier Thomas to a one-year deal on August 12. The club's own roster page carried him on its active table on Thursday afternoon with no jersey number published, and Spotrac carried him on injured reserve at the same hour, with no transaction anywhere to explain the difference. The 49ers go into Thursday's preseason opener against Tennessee at exactly 90 chargeable players: 88 on the active table, three on Active/PUP, and one international-pathway exemption that does not count until the cut to 53. K.J. Henry, waived with an injury designation on Wednesday, appears on none of the club's four roster tables. Three of the 88 have no jersey number published, and all three signed on Wednesday. The 53-man projection still totals 52.

Sam KezarAug 13, 20264 min read
A Third-Round Rookie Has The First-Team Edge Reps Opposite Keion White
49ers

A Third-Round Rookie Has The First-Team Edge Reps Opposite Keion White

Romello Height has been working with the first-string defense opposite Keion White while Mykel Williams sits on PUP and Nick Bosa is held back. Height was drafted in the third round to replace a pass rusher who retired in March. White arrived from New England nine months ago for a reported sixth-round pick. Between them they have taken every first-team edge rep of this camp, and neither was supposed to.

Sam KezarJul 28, 20265 min read