Roster

The Warning About This Receiver Room Was Published On May 13

David Lombardi projected seven receivers onto the 53 seventy-four days before camp opened, and wrote down why. Five days into camp the 49ers are down to five healthy ones and have signed two men in their thirties to fix it.

SK
Sam KezarAug 1, 20265 min read
Every call on this site goes on a public ledger and gets graded. The misses stay up.
The Warning About This Receiver Room Was Published On May 13

On May 13, David Lombardi of the SF Standard published his first 53-man roster projection of the year. He put seven wide receivers on it, which is one more than most projections carry, and he explained why in a single sentence:

"Don't be surprised to see the 49ers load up with seven bodies here if health allows; after all, they have run out of receivers in each of the past two seasons."

That was seventy-four days before the first practice of camp, and it is not useful because it was a bold call. It was not. Every NFL receiver room gets hurt, and a writer predicting that one will is not going out on a limb. It is useful because it named a pattern, gave the pattern a denominator, and did it in public with a date on it, which means the front office's plan for that pattern can be graded against something other than hindsight.

Five practices in, the room is at five healthy bodies and the club has added two more players in their thirties.

What the plan actually was#

San Francisco spent the offseason rebuilding this position, and the shape of the rebuild is not in dispute because it is all in contracts.

Mike Evans signed in March on a three-year deal reported at $42.4 million, with a $12 million signing bonus, $16.3 million guaranteed and up to $18 million in incentives across its life. The club's own roster page lists him at 32, entering his thirteenth season. His 2026 cap number is $4.25 million, which is the tell that this was structured as a short bet dressed as a three-year one.

Christian Kirk signed the same month, one year, $6 million, with $1.61 million of base salary fully guaranteed. He is 29 on the club's roster page, entering his ninth season, and he arrived off a Houston year of 28 catches for 239 yards in which he missed four games with hamstring trouble.

De'Zhaun Stribling was the 33rd pick of the draft, the top of the second round. He is 23. He is the only receiver San Francisco added this offseason who was not already a veteran, and he cost the most valuable thing the club spent.

So the answer to a durability problem was a 32-year-old, a 29-year-old coming off a hamstring season, and one rookie. There is a coherent argument for it, and it is not the one about age: separation. Evans is a genuine outside threat at a position group Lombardi himself described in July as having posted the league's lowest separation scores over two seasons. Buying a solved skill costs what it costs, and the players who have that skill and are available in March are usually old. Nobody was going to fix this room with 24-year-olds in free agency.

The problem is that the thing being solved and the thing being risked were the same thing, and only one of them got a plan.

What five practices did to it#

Kirk strained a calf in the first practice of camp and has not practised since. No timeline has been given by the club at any point.

Ricky Pearsall was placed on injured reserve Saturday morning, in the release that signed Deebo Samuel. That designation makes him ineligible for the initial 53-man roster, which is the only fact about it this piece needs; the club's release names no injury and no timeline, and the prognosis reported around it belongs to the reporters who reported it.

De'Zhaun Stribling missed Saturday's practice with hamstring tightness. He is the one who had been the story of this camp: first-team slot reps for three straight practices, and Tim Kawakami wrote Saturday morning that he had been the most impressive receiver on the field after Evans. He was also the only healthy receiver in the top four for about forty-eight hours.

That is three of the four receivers the club spent real money or a real pick on, unavailable on the same afternoon, on August 1.

The answer to the thinness was more of the thinness#

Here is where the projection stops being a lucky guess and starts being an argument.

On July 29, with two of its top four receivers unable to practise, San Francisco worked out three street free agents: Trenton Irwin, Alex Bachman and D'Wayne Eskridge. On July 31 it signed Irwin, who is 30, on a one-year deal, in his sixth NFL organisation. On August 1 it signed Samuel, who is 30, on a one-year deal his own agent describes as worth up to $7 million.

Count the room the club's roster page now lists. Of the thirteen receivers on it, five are 30 or older: Evans at 32, Demarcus Robinson at 31, and Samuel, Irwin and Malik Turner all at 30. Kirk is 29. The rebuild answered a durability history with age, camp produced the durability problem on schedule, and the response to that was to buy two more players on the far side of 30 inside 48 hours.

None of which makes either signing wrong. Irwin and Samuel were the available answers in the first week of August, Samuel knows this playbook cold, and a team that needs bodies on Saturday cannot draft one. That is exactly the point. A roster built this way has no cheap move left when the thing it was warned about happens, so it makes the expensive-in-years move again, and then again.

What is actually falsifiable here#

The honest scoring of Lombardi's May sentence: the reasoning has held and the projection has not resolved. He said the club would carry seven receivers if health allowed. Health did not allow, and whether San Francisco keeps seven on August 30 is still open. A prediction that a receiver room will get hurt is close to a base-rate claim, and it should be discounted as one.

What is not a base rate is the construction decision underneath it, and that is gradeable. If age was the cost of buying separation, then the bill comes due as games missed by men over 30, and the roster the 49ers take to Melbourne on September 10 will show whether the club thinks it overpaid.

My call, filed with this piece: on September 10, at least three of the receivers on San Francisco's active roster will be men the club's own roster page lists at 30 or older. Two of those are already effectively decided. The third is the interesting one, and it is a choice between a veteran the club just signed off the street and one of the young receivers it drafted to avoid needing him.


Sources. David Lombardi, SF Standard, May 13, 2026, "49ers 53-man roster projection 1.0," quoted verbatim from the archived text, and his July 27 separation finding. Contract terms for Mike Evans and Christian Kirk as reported in March 2026 by ESPN, NBC Sports Bay Area and the Associated Press. Ages, position group and roster status from the 49ers' official roster page, read at the primary on August 1. The August 1 transaction and the Pearsall designation from the club's own release and transaction log, timestamped 9:44 a.m. The July 29 workouts of Irwin, Bachman and Eskridge per Kyle Madson, Niners Wire. Saturday's absences per Nick Wagoner, ESPN, and Jennifer Lee Chan, NBC Sports Bay Area; the Stribling assessment per Tim Kawakami, SF Standard, all August 1. Samuel's contract ceiling per his agent, via Matt Barrows and Vic Tafur, The Athletic, July 30.

Filed under 49ers

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

The Two Names That Moved On Wednesday's Injury Report Both Play Right Defensive Tackle
Game Week

The Two Names That Moved On Wednesday's Injury Report Both Play Right Defensive Tackle

San Francisco's second injury report of Week 1, distributed by the club's communications staff and published by David Bonilla at 49ers Webzone at about 2:57 p.m. Pacific on Wednesday, carries the same eleven San Francisco names as Tuesday's and moves exactly two of them. Alfred Collins goes from limited participation to did not participate, filed under a knee; Kyle Shanahan said this week that Collins tore a patellar tendon and is out for the year. James Thompson Jr. goes from did not participate to limited, and Shanahan had said before the last practice that Thompson's availability would be settled by how that session went, per Patrick Holloway and Kyle Posey at Niners Nation. The two men are first and third at right defensive tackle on the club's own chart. Nick Bosa, limited on both reports, said after the final full practice that he is '100% ready to go' and that he had not yet talked to defensive line coach Kris Kocurek about a snap limit. George Kittle, also limited both days, said his body feels good and that he does not know his workload. Shanahan said the club has to be smart with both, and called Christian McCaffrey 'Awesome. Ready to go.' Bonilla writes that San Francisco held no full practice on Wednesday and had a walk-through scheduled. On the Rams' side everyone but Aaron Donald improved: Myles Garrett went from did not participate to full. Neither the distributed report as published nor the club's own injury report page, read at 3:04 p.m. and again at 4:52 p.m. Pacific, carries a game status for anybody. On the roster page nothing was processed: 53 active, 17 practice squad, 11 on injured reserve, 2 on Active/PUP, Collins still on the Active table.

Sam KezarSep 9, 20265 min read
Sam Okuayinonu Went On Injured Reserve And The Long Snapper Came Up
Roster

Sam Okuayinonu Went On Injured Reserve And The Long Snapper Came Up

San Francisco placed Sam Okuayinonu on injured reserve and signed defensive lineman Khalid Kareem to a one-year deal on Friday, and on Saturday, from Melbourne, signed long snapper Jon Weeks off its practice squad and waived tight end Brayden Willis. Two men off the 53, two on, and the count holds. Matt Maiocco reports Okuayinonu is out indefinitely with a foot injury sustained at Wednesday's practice in Santa Clara, and gives Kareem's two seasons under Raheem Morris in Atlanta as most of the reason he is the replacement. The Weeks signing closes a question that has been open since cut day: San Francisco carried no long snapper on its active roster for six days, and a practice-squad player may be elevated to a game-day roster no more than three times in a season. Kickoff at the Melbourne Cricket Ground is Thursday at 5:35 p.m. Pacific, which is Friday morning there.

Sam KezarSep 5, 20264 min read
The 49ers Released Robert Jones And Traded For A Lineman Seven Minutes Later
Roster

The 49ers Released Robert Jones And Traded For A Lineman Seven Minutes Later

San Francisco's cut to the initial roster, first through named reporters and then through the club's own release at 3:50 p.m. Pacific. Robert Jones released at 1:35 p.m. and Jarrett Patterson acquired from Houston seven minutes later. Mykel Williams to reserve/PUP and out at least four games. Christian Kirk to injured reserve with a designation to return. Brett Toth and Nick Zakelj to season-ending injured reserve. Deion Jones released five days after the 49ers traded Zamir White for him. Jalen Stroman waived three days after playing every defensive snap in Las Vegas. Thirty-nine moves, fifty-two men, and no punter or long snapper on the list.

Sam KezarAug 30, 20268 min read