49ers
Training camp

Twenty-One Locks, Twelve Arguments, And One Australian With A Visa

Camp opens today with the top of the roster already decided. The actual football happens at the bottom, where a punter from Melbourne would very much like to punt in Melbourne.

GS
Grab Some PineJul 25, 20266 min read
Every call on this site goes on a public ledger and gets graded. The misses stay up.

Here is the thing nobody wants to say out loud in late July, because it makes for a boring month of content: this roster is mostly finished.

Kyle Shanahan on the 49ers sideline
Kyle Shanahan opens camp with 21 roster locks and, unusually, no quarterback question. Photo: AlexanderJonesi / CC BY-SA 2.0, via Wikimedia Commons

Twenty-one players are locks. Not "probably." Not "barring something weird." Locks, graded 9 or 10 out of 10 on the confidence scale, players you do not think about again until Week 1. Brock Purdy, Christian McCaffrey, Trent Williams, Nick Bosa, Fred Warner, George Kittle, Deommodore Lenoir, Mike Evans. Another 28 sit at 7 or 8, which is roster-speak for "in, unless something breaks."

That is 49 players for 53 spots before a single padded practice.

So the entire month of August, the whole grinding apparatus of joint practices and three preseason games and Kyle Shanahan doing his level best to say nothing at a podium, comes down to about twelve real arguments.

Good news: several of them are actually interesting.

The one open starting job#

There is exactly one, and it is left guard.

San Francisco rotated bodies through that spot all of 2025 and hated every minute of it. The lean coming out of spring is Connor Colby, who ran with the first team and profiles as the guy they would prefer to win it. Robert Jones is the veteran fallback, the guy you start if the answer is "we cannot risk this." Carver Willis and Brett Toth are in the room too.

Note what this battle is not. All four of these players are very likely on the team. This is not a cut-day fight, it is a starting-lineup fight, which is a different and lower-stakes species of camp drama. The line is set at four spots and searching for a fifth.

The bottom of the receiver room is a track meet#

Ricky Pearsall and De'Zhaun Stribling and Christian Kirk are all going to be here. The question at the top is whether Stribling's size and blocking beat Kirk's veteran shiftiness for the slot role, which, again, is a role question, not a roster question.

The roster question is one slot lower. Jacob Cowing versus Jordan Watkins for the sixth receiver spot, and the tiebreaker is almost certainly the punt return job. Cowing might be the fastest man on the roster. Watkins was ascending before a preseason ankle injury flattened his 2025.

Both healthy, both might stick. One injury anywhere in the room and the math resolves itself without anyone having to make a decision, which is how most of these actually get settled.

And now the punter#

Corliss Waitman is the incumbent. Jack Bouwmeester is an Australian rookie whose visa has cleared.

The 49ers open the season on September 10 against the Rams. In Melbourne.

I want to be careful here, because "rookie punter wants to punt in his home country" is exactly the kind of story that writes itself into a decision it should not actually influence. Brant Boyer is going to pick the better punter. Special teams coordinators are not sentimental people; sentiment is how you end up explaining a shanked punt from your own 12.

But the schedule is the schedule, and if this thing is close in the middle of August, somebody in that building is going to think about it. (Somebody in that building has already thought about it. Somebody in that building thought about it in April.)

Chart every camp punt. This is the most fun competition on the roster and it is not close.

The rest of the ledger, briefly#

Backup running back. Jordan James versus Kaelon Black, and it matters more than usual because the organization keeps saying out loud that it wants to lighten McCaffrey's workload. Isaac Guerendo's pec injury clears the runway for both. James is the quicker, more fluid back. Black is the more powerful one, and was the higher-rated back on their own board.

Fifth safety. None of the top three, Malik Mustapha, Ji'Ayir Brown, Marques Sigle, is a true free safety. That is the exact door Ashtyn Davis was signed to walk through. Sigle profiles as the big nickel piece rather than the deep man.

Corner depth, with an asterisk. Jack Jones and Darrell Luter Jr. are competing for spots that may or may not exist, because the Renardo Green trade rumors will not die. If Green goes, one spot becomes two.

Linebacker depth. Jaden Dugger, Nick Martin, Garret Wallow, and probably two of the three stick. Dugger took SAM reps in the spring, which is a real tell in July.

The lurking domino. San Francisco has roughly $70 million in cap space and a thin edge room behind Bosa. John Lynch has already called Joey Bosa "too expensive," which is the kind of thing general managers say in July and stop saying in August. Any veteran edge signing reshuffles the entire defensive line bubble.

What the injury list is actually telling you#

Purdy is a full go and taking his first genuinely full offseason. Warner's broken ankle is cleared. Bosa is expected back at the start of camp or shortly into it, off the ACL.

The yellow lights are the ones to watch, and they cluster: Kittle (January Achilles tear, optimistic for Week 1), Mykel Williams (ACL in Week 9, expected at camp but a real PUP candidate), Alfred Collins (offseason shoulder), Keion White, who was shot in the foot and leg after the Super Bowl and has been posting workouts.

Luke Gifford has a concussion from OTAs, sustained in a collision with Mike Evans, which is a sentence that should be framed and hung somewhere in Santa Clara.

The read

The top of this roster is unusually settled for late July, which means the projection risk is concentrated at the bottom. Twelve spots, four or five of them decided by special teams value rather than position value. Cut day is going to be quieter than usual, right up until it is not.

The 53-man tracker updates through camp, with a confidence grade on every player and the battles above tracked as they resolve. It gets graded against the real 53 in late August, publicly, including the parts it gets wrong.

Anyway. Camp opens today.

Somebody go time those punts.

Filed under 49ers

Latest on the 49ers

The whole beat →
Week 2 Analysis

Opponents have reached the 49ers' red zone five times and scored one touchdown

Two days after the 35-13 win over Miami, the two game books describe a defense that is hard to finish against and easy to move against. Opponents have gained 5.1 yards a play in both games and reached the San Francisco 20 five times for one touchdown. Miami spent 19:17 on its first three possessions and got six points, twice reaching goal to go and twice kicking. San Francisco's first four sacks of the season came either inside its own red zone or with a lead of 15 or more, and Nick Bosa is credited with none of them, and with no quarterback hit either, on 40 of 59 defensive snaps. PFF's charting of the same game puts him ahead of every other 49er in total pressures.

Sam KezarSep 22, 20266 min read
Opponents have reached the 49ers' red zone five times and scored one touchdown
49ers Takeaways

Week 2 takeaways: five touchdowns before San Francisco's first punt

San Francisco is 2-0 after a 35-13 win over Miami in the home opener. The 49ers scored touchdowns on their first five drives and did not punt until 10:38 of the fourth quarter. Purdy was 20 of 22 for 287 yards and two touchdowns with a 149.1 rating and no sack taken. The defense recorded four sacks after none in Week 1, from Marques Sigle, Keion White, Romello Height and a Warner-Stout split, none from Bosa. Miami had first and goal twice and came away with six points. Eddy Piñeiro, the kicker the week was spent on, attempted no field goal.

Sam KezarSep 21, 20265 min read
Week 2 takeaways: five touchdowns before San Francisco's first punt
49ers Roster

The 49ers won by 22 and came out of it needing a receiver and a lineman

Shanahan's Monday conference call produced four injury verdicts. Robinson and Thompson Jr. both have high-ankle sprains at three to six weeks, Robinson most likely to injured reserve. Height broke his hand and has surgery Tuesday, with an outside chance of playing at Arizona. Mike Evans has a hip that will be managed through the week. The receiver room is down to five men on the active roster with three on injured reserve, and the defensive line has now lost three players in two games. Shanahan, asked on Sunday about Leonard Floyd, said the club has already made calls.

Sam KezarSep 21, 20264 min read
The 49ers won by 22 and came out of it needing a receiver and a lineman

Earlier on the 49ers

Camp Notebook

Kurtis Rourke Has Three Broken Ribs And Does Not Play Tonight

Kyle Shanahan confirmed on Tuesday that Kurtis Rourke broke three ribs in the preseason opener, twelve days after the club said the X-rays taken in the stadium showed nothing broken and sent him to hospital for more imaging. Rourke does not play in Thursday's finale at Las Vegas and Adrian Martinez takes the last game of the third quarterback competition. Shanahan also named Christian Kirk and Vederian Lowe as candidates to open the regular season on injured reserve, a designation that costs each of them at least the first four games and costs San Francisco a roster spot on Sunday; said Dominick Puni is most likely back in the concussion protocol; put Nick Bosa, Jacob Cowing, Upton Stout and Mike Evans back at practice next week rather than this one; and left the left guard job to Connor Colby and Carver Willis with Robert Jones hurt. The club signed defensive lineman Jah Joyner on Thursday morning and placed Victor Dimukeje on injured reserve to make room.

Sam KezarAug 27, 20263 min read
Kurtis Rourke Has Three Broken Ribs And Does Not Play Tonight
Camp Battles

Jack Jones Broke Up Two Passes At The Chargers. Nate Hobbs Has Not Played A Preseason Snap.

The official game book from Thursday night at SoFi Stadium credits Jack Jones with two passes defensed, the most by any 49er in a game the team finished with seven, and 29 of San Francisco's 59 defensive snaps. Nate Hobbs pulled a groin at the joint practice with Tennessee on August 11 and does not appear on the participation page of either preseason game. Kyle Shanahan said on August 13 that Hobbs would be out a few weeks. The roster is due Sunday, August 30 at 3:00pm PT. This board moves Jones from 5 to 7 and inside the projected 53, and Hobbs from 6 to 5 and outside it.

Sam KezarAug 21, 20266 min read
Jack Jones Broke Up Two Passes At The Chargers. Nate Hobbs Has Not Played A Preseason Snap.
Feature

What Kyle Shanahan Has Not Said

The 49ers opened camp this weekend without the man who has run it since 2017. Everything known about how he is has come from somebody else's mouth.

Posey ThompsonJul 26, 20268 min read
What Kyle Shanahan Has Not Said