49ers
Roster

San Francisco Has Never Been Over The Roster Limit. The 91st Man Has A Name And An Exemption.

The 49ers signed Khalil Herbert and Titus Leo on Sunday, waived Eli Apple, waived/injured Mikail Kamara, and worked out three more edge rushers. This beat has counted 91 bodies against a 90-man ceiling for three days and said twice it could not resolve the last one. The league resolved it in April.

SK
Sam KezarAug 2, 20265 min read
Every call on this site goes on a public ledger and gets graded. The misses stay up.
Illustration: a shelf packed edge to edge with identical plain helmets, and one more helmet on the floor beneath it with nowhere to go.

Isaac Alarcon is the 67 in the offensive line group on the 49ers' roster page, he is 28, he went to Tecnologico de Monterrey, and he has never played a regular-season down. He is also the reason this beat has printed a number with a hole in it for a week.

The NFL granted San Francisco a roster exemption for Alarcon on April 28. Aaron Wilson reported it; Niners Wire carried it the same day. The exemption is the International Player Pathway kind and its effect is stated plainly: Alarcon does not count toward the club's 90-man offseason roster, and he starts counting only when the roster is cut to 53.

So the count is 90 against a limit of 90. Not 91 against 90.

This site has published the raw number three times and hedged it correctly once. The tracker column of July 30 laid out both available readings, said which exemption Alarcon holds "has never been established here," and concluded zero open roster spots under either. That answer was right and survives untouched. The other two are the ones that need saying: a July 31 piece put "91 players under a limit of 90" in a deck and a body paragraph, and a second July 31 piece went further and called it "one body more than the rules allow." The club has not been over the limit at any point this camp, and it has not carried a body the rules do not allow. It has been sitting precisely on the ceiling, which is a different fact with the same consequence and a better explanation attached.

What sitting on the limit does to a Sunday#

It means every arrival is paid for by name, and Sunday is the cleanest demonstration camp has produced.

San Francisco announced four moves at 1:25 p.m.: running back Khalil Herbert and defensive lineman Titus Leo signed to one-year deals, cornerback Eli Apple waived, defensive lineman Mikail Kamara waived/injured. Two in, two out, net zero, which is the only arithmetic available to a club with no open spots and is now the shape of ten transactions across three days.

The two positions were chosen by Saturday rather than by the front office. The 49ers practised Saturday morning and lost bodies out of exactly two rooms. Kamara left on a cart with a knee. Keion White did not finish with an adductor issue and Romello Height sat with an elbow, which thinned an edge group already missing Mykel Williams to the physically-unable-to-perform list. In the backfield, Jordan James has fractured ribs and Kaelon Black started practice and did not finish it, the latter reported by Nick Wagoner at ESPN and absent from other lists filed the same afternoon.

Sunday the club signed a running back and a defensive lineman.

Herbert has a job attached to him#

Herbert is 28. Chicago took him in the sixth round, 217th overall, in 2021, and the club's release runs the career without decoration: 63 games and 13 starts across the Bears, the Bengals and the Jets, 416 carries for 1,957 yards and nine touchdowns, 54 receptions for 316 yards and two more. His 2025 was seven games in New York, 16 carries, 52 yards.

The room he joins, counted off the club's page Sunday afternoon, is McCaffrey, James, Black, Patrick Taylor Jr. and Sincere McCormick, with Kyle Juszczyk at fullback and Isaac Guerendo on PUP. Herbert is the sixth back on a roster that will keep four, arriving on day eight, at a position where the man directly above him has broken ribs and the man below him walked off Saturday's practice for a reason nobody has published.

Leo is not the last defensive lineman#

Leo is 26, a sixth-round pick of Indianapolis in 2023, 211th overall out of Wagner. Four career games, one tackle, one pass defensed, five teams in three years, and a 2025 that consisted of Philadelphia's practice squad from October 15 to December 30. He is the fourth defensive lineman San Francisco has signed since July 26, after Kevin Givens that day and Quinton Bell and K.J. Henry on the 29th.

He is also not the end of it. The club worked out three edge rushers Sunday, all three off the league transaction wire and all three reported by Marc Adams at 49ers Webzone: Andre Carter and Xavier Thomas in a post filed at 12:37 p.m., Ogbonnia Okoronkwo in a second one at 1:00. Adams is the only place any of it has appeared. A club that signs a defensive lineman at 1:25 and has worked out three more edge rushers the same day is telling you the room is not fixed. The line has been this roster's churn engine since the first week of camp, and Saturday accelerated it rather than starting it.

Apple came out of the one room that did not break#

The corner group lost nobody Saturday. Apple came off it anyway, on a Reserve/Future deal he signed January 20, because two signings need two spots and Kamara's was only one of them. That is what zero open spots buys: a healthy player at a healthy position loses a job because a defensive lineman got hurt at a different one.

Waiving Kamara with an injury designation is procedure, not commentary. He was carted off, the club named a knee and has offered nothing past the body part, and this piece supplies no timeline because nobody has reported one.

The club's own tables are a day behind#

Counted table by table in a browser at 3:01 p.m. Sunday, the roster page read 88 active, three on active/PUP, two on reserve/injured and one on reserve/left squad. Apple and Kamara were still in the active table. Neither Herbert nor Leo appeared anywhere. The transaction log still ended on August 1.

Two things fall out of that read. The first is the count above: 88 plus three is 91 names, less Alarcon's exemption, is 90. The second is smaller and worth keeping: the PUP list is down to Guerendo, George Kittle and Mykel Williams, which means Alfred Collins has come off it and is in the active group at 95. Camp opened with four men there.

Anybody counting this roster off the club's own tables on a given afternoon is counting yesterday. The release runs ahead of both.


Sources. The 49ers' official release, August 2, 1:25 p.m., for all four transactions and for the Herbert and Leo biographies and career figures. The club's roster page and transaction log, counted table by table in a browser at 3:01 p.m. the same afternoon. Aaron Wilson's report of the Alarcon exemption via Oliver G. at Niners Wire, April 28, 2026, for the exemption and its treatment. Marc Adams, 49ers Webzone, August 2, 12:37 and 1:00 p.m., for the Okoronkwo, Carter and Thomas workouts, reported off the league transaction wire. Saturday's practice details come from this site's published camp notebook of August 1, which sources them to Nick Wagoner of ESPN, Jennifer Lee Chan of NBC Sports Bay Area and Tim Kawakami of the SF Standard. The July 30 tracker column referenced above is this site's own. This site had nobody at practice and nobody in the building.

Filed under 49ers

On the record

Called Shots →
Held upAug 2, 2026

On or before 2026-08-09, San Francisco signs at least one more defensive lineman or edge rusher who is not on its roster as of 2026-08-02. Method, fixed in advance: read the official transaction log at 49ers.com on 2026-08-09 and count signings at position DL or LB of any player absent from the roster page counted on 2026-08-02. Practice-squad signings do not count, because there is no practice squad until after the August 30 cutdown. A player re-signed after being waived counts.

San Francisco has signed four defensive linemen since July 26 (Kevin Givens on the 26th, Quinton Bell and K.J. Henry on the 29th, Titus Leo on August 2), worked out three edge rushers on August 2 alone (Ogbonnia Okoronkwo, Andre Carter, Xavier Thomas, per Marc Adams off the league transaction wire), and goes into this week with Mykel Williams on PUP, Keion White on an adductor, Romello Height on an elbow and Mikail Kamara waived. The honest case against my own call is that Leo IS the answer to Kamara and the workouts were due diligence the club runs every week; three workouts is also a small number to hang a signing on, and clubs sitting exactly on the 90-man limit have to waive somebody healthy to sign anybody, which is a real brake and cost Eli Apple his job on Sunday. I am calling it anyway because the pattern is four signings in eight days at one position group and the group got thinner, not deeper, over the weekend.

Latest on the 49ers

The whole beat →
49ers Notebook

Stribling is out ten weeks, and the club says it doesn't need another receiver

Kyle Shanahan spoke before Wednesday's practice, his first availability since the flight home from Melbourne, and answered the two questions the opener left open. De'Zhaun Stribling had ankle surgery and will miss close to ten weeks, a window that covers nine games. Jake Tonges had knee surgery, is out for the season and went on injured reserve Wednesday. KhaDarel Hodge was promoted to the 53-man roster in the same transaction and Jack Stoll signed to the practice squad, one day after the club worked him out. Shanahan said San Francisco does not need to add a receiver. Stribling was still on the club's Active table at 4:53 p.m. Pacific.

Sam KezarSep 16, 20264 min read
Stribling is out ten weeks, and the club says it doesn't need another receiver
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
San Francisco Promoted A Fourth Tight End And Worked Out Three More
49ers Notebook

George Kittle Started And Played 30 Snaps. Luke Farrell Did Not Start And Played 46.

The NFL's official game book for Week 1 puts George Kittle at 30 of San Francisco's 65 offensive snaps and 46 percent, Luke Farrell at 46 snaps and 71 percent, and Jake Tonges at eight snaps and 12 percent before he was hurt. Farrell also played 18 of the 49ers' 20 special-teams snaps, the highest special-teams snap share of any San Francisco player in the game. Kittle started; Farrell did not. Shanahan's postgame words on Tonges were an MCL with no timetable, and as of 2:50 p.m. Pacific Monday the club's transaction log still ends on September 10, Tonges is still on the active roster page, and the Week 2 injury report page carries no San Francisco table. The only other tight ends the club employs, Khalil Dinkins and Brayden Willis, are on the practice squad.

Sam KezarSep 14, 20264 min read
George Kittle Started And Played 30 Snaps. Luke Farrell Did Not Start And Played 46.

Earlier on the 49ers

The ruler

The 49ers' Championship Price Sat Out The Preseason

The 49ers futures number quoted on every odds page cannot express any revision smaller than 11.11 percent of its own value, and nothing the preseason did to San Francisco was that big. Here is the arithmetic, the two cheaper books that registered what the expensive one could not, and why twenty-seven of the thirty-two teams on the board have the same problem.

Casey MontgomeryAug 28, 20268 min read
The 49ers' Championship Price Sat Out The Preseason
Preseason Takeaways

Nine Takeaways From The 49ers' 19-13 Loss To Tennessee, Starting With The Rookie Who Caught Seven Passes

The 49ers lost their preseason opener 19-13 to Tennessee on Thursday night. Second-round rookie De'Zhaun Stribling caught seven of his eight targets for 63 yards. Kurtis Rourke started at quarterback, completed 12 of 14 passes, and was taken to a hospital with a rib injury that stadium X-rays did not show as a break. Robert Jones started at left guard and Connor Colby started at right guard. Four running backs carried 23 times for 52 yards. Nine takeaways from a game that produced no touchdown passes on 44 attempts.

Sam KezarAug 14, 20265 min read
Nine Takeaways From The 49ers' 19-13 Loss To Tennessee, Starting With The Rookie Who Caught Seven Passes
Contract structure

Paraag Marathe Left, And Seventy-Two Void Seasons Stayed

Twenty-one contracts on the 49ers' 2026 cap sheet carry void years, 72 of them in total. Mike Evans' deal decomposed to the dollar, why the books close $450,000 short, and the reason the executive credited with that architecture had already handed off the job that produces it.

Jamie SilvaAug 6, 20266 min read
Paraag Marathe Left, And Seventy-Two Void Seasons Stayed