Roster

One Of The Ninety Is Listed Two Different Ways

San Francisco signed Xavier Thomas on Wednesday. Its own roster page has him on the active table with the number column empty; Spotrac has him on injured reserve. No transaction explains the gap, and the two versions do not put the same number of men on the roster.

SK
Sam KezarAug 13, 20264 min read
Every call on this site goes on a public ledger and gets graded. The misses stay up.
A printed screenprint illustration in crimson, off-white and black: two identical equipment racks side by side, divided by a thin vertical line, each holding the same grid of plain unmarked football helmets. The left rack is full. The right rack is the same except one peg, at the same position, is bare. The helmets carry no logo, number or nameplate.

San Francisco signed defensive lineman Xavier Thomas to a one-year deal on Wednesday afternoon. On Thursday, the day of the preseason opener, the club's own roster page and one of the two public contract databases disagreed about whether he is healthy.

The club's page, counted in a browser at 2:58 p.m. PT, carries Thomas among the 88 names on its Active table. He is listed at 6-2, defensive line, out of Clemson. The number column beside his name is empty. Spotrac, read at 3:00 p.m. PT, carries him on injured reserve instead, in a six-man group with Ricky Pearsall, Darrick Forrest, Andrew Farmer II, Mikail Kamara and Tanner McLachlan.

The club's transaction log offers nothing that would settle it. Its newest entry at a 3:02 p.m. reading was still Wednesday's, the six moves announced at 1:21 p.m., and no report of a subsequent move for Thomas surfaced anywhere Thursday afternoon. Two published versions, and they do not reconcile. Whether Thomas is hurt is not a question a roster page can answer, and nobody from this site has seen him.

The difference is not academic on this particular Thursday. Thomas joins a defensive line that lost K.J. Henry in the same Wednesday release, and Tennessee kicks off at 6 p.m. in a game the head coach has already emptied of its best players. "There won't be many starters playing," Kyle Shanahan said after Tuesday's joint practice with the Titans. A defensive lineman signed twenty-six hours before kickoff is exactly the kind of player a preseason opener exists to look at, assuming he is available to be looked at.

The count is 90, and it takes three numbers to get there#

The club's four roster tables, read at the same 2:58 p.m. count: 88 on Active, three on Active/Physically Unable to Perform, four on Reserve/Injured, one on Reserve/Left Squad.

Only the first two count against the offseason limit, which makes 91 names. San Francisco is at 90 rather than 91 because of Isaac Alarcon. The club was granted a roster exemption for the Mexican offensive lineman in April, and an international-pathway exemption keeps a player off the 90 for the whole offseason. It stops working at the cut to 53, at which point he counts like anybody else.

So: 88 plus three, less one. San Francisco walks into its first game at the limit exactly, which is what Wednesday's three in and three out was for.

That arithmetic is also what makes the Thomas question worth asking, because the two versions of him do not produce the same total. The active table counts against the 90 and Reserve/Injured does not. If the club's page is right, San Francisco goes into the opener at the limit with nothing to spend. If Spotrac is right, it goes in at 89, one under, with an open spot on the night the roster is supposed to be full.

The three on Active/PUP are Isaac Guerendo, George Kittle and Mykel Williams. They cannot practice and they cannot play, and they occupy three of the 90 anyway.

The injured list depends on which page you open#

The club counts four men on Reserve/Injured: Farmer, Forrest, Kamara and Pearsall. Both public books count six. The two extra names are not the same two.

OverTheCap, read at 2:54 p.m., carries Tanner McLachlan and K.J. Henry among its non-active charges. Spotrac carries McLachlan and Thomas. McLachlan is the common name, and he has his own version of the same question: the club waived him with an injury designation on July 31, and he has not appeared on any of the club's four tables since.

Henry is the fresher case and the more instructive one. He was waived with an injury designation Wednesday, fourteen days after he signed. A player waived that way who goes unclaimed reverts to his own club's injured reserve. As of Thursday afternoon he was on none of San Francisco's four tables: not Active, not Active/PUP, not Reserve/Injured, not Reserve/Left Squad. That is what the page says. What it means is a claim nobody has made in public yet.

Three men, no numbers#

Eli Apple, Xavier Thomas and Zamir White carry an empty number column on the club's roster page. All three signed Wednesday. Every other name on the Active table has a number beside it.

Apple has been a 49er before, twice. The most recent stint ended on August 2, when the club waived him, and he re-signed ten days later. White arrived because the running back room had four men hurt at once. In a game the starters are sitting out, the three men with the most to gain from the snaps are the three a viewer cannot look up.

What the board did#

Nothing. There was no practice Thursday; the club's schedule for the week lists a 6 p.m. game and no session. There was no transaction. No grade on the 53-man tracker moved, and no name crossed the cut line in either direction.

The projection still totals 52 against 53, and the missing man is still an offensive lineman: nine names inside against a keep of ten. The first thing on the calendar capable of producing interior line evidence starts at 6 p.m., which is the argument for watching a game whose starters are staying on the sideline.

Sources: 49ers.com roster page and transaction log, both counted in a browser August 13, 2:58 and 3:02 p.m. PT; Spotrac San Francisco 49ers 2026 financial summary, read 3:00 p.m. PT; OverTheCap San Francisco 49ers salary cap page, read 2:54 p.m. PT; the club's August 12 release announcing six roster moves; the club's practice and media schedule for the week, 49ers Webzone, published August 9; Shanahan on the starters, 49ers Webzone, August 12; Niners Wire, April 28, on the Alarcon exemption; Grab Some Pine 53-man tracker.

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

Christian Kirk is out Monday, which leaves one game inside his practice window
49ers Notebook

Christian Kirk is out Monday, which leaves one game inside his practice window

The 49ers ruled Christian Kirk out for Monday night against Washington at 1:08 p.m. Pacific, five days after opening his practice window off injured reserve, and elevated linebacker Jalen Graham and receiver Malik Turner from the practice squad in the same release. The club has 21 days from Oct. 15 to put Kirk on the 53, and the only game left inside that window after Monday is at Atlanta on Oct. 25; the bye follows. The inactive list posted at 3:44 p.m.: Kurtis Rourke, Enrique Cruz Jr., Deebo Samuel, Garret Wallow, Marques Sigle, Nick Bosa and Naquan Jones. Mike Evans, Gracen Halton, Mykel Williams, Siran Neal and Upton Stout, all questionable Saturday, are active, and Kyle Juszczyk returns. The receivers in uniform are Evans, Brandin Cooks, Jacob Cowing, Jordan Watkins and Turner. Graham, a 2023 seventh-round pick with 15 career games, covers for Garret Wallow and the suspended Dre Greenlaw. Washington activated three players from injured reserve and put two on it.

Sam KezarOct 19, 20263 min read
Jalen Stroman Played Every Defensive Snap And More Special Teams Than Anybody
Called Shots

Jalen Stroman Played Every Defensive Snap And More Special Teams Than Anybody

Six calls on San Francisco's initial 53-man roster, due Sunday at 3 p.m. Pacific. In: Jalen Stroman, who played all 66 defensive snaps and 21 on special teams against the Raiders, the most of any 49er; Nate Hobbs; and Jacob Cowing, already on the ledger since August 23. Out: Jordan Watkins, who played 53 of 61 offensive snaps and touched the ball nine ways; Ashtyn Davis; and Ogbo Okoronkwo, already on the ledger since August 5. Every call scores off the club's announced initial 53 and nothing else. A man placed on injured reserve from that list counts as having made it.

Sam KezarAug 29, 20266 min read
Brett Toth's Undisclosed Injury Was A Concussion, And This Board Took Him Off The 53
Camp Notebook

Brett Toth's Undisclosed Injury Was A Concussion, And This Board Took Him Off The 53

Saturday's notebook: the undisclosed injury this beat has been carrying for three days got a name and cost its owner a place on this site's projected 53, Connor Colby lost most of a one-on-one session two days after losing the first-team reps, the defence intercepted Brock Purdy twice in the red zone, and the head coach took a podium for the first time since his car accident.

Sam KezarAug 8, 20268 min read