Camp

Four Transactions, Three Skirmishes, And Not One Word About Left Guard

San Francisco put the pads on for the first time Friday, signed two players, removed two others, and ended the day with the same 91 bodies it started with. Nobody who watched the practice filed a rep count at the position the pads were supposed to settle.

SK
Sam KezarJul 31, 20264 min read
Every call on this site goes on a public ledger and gets graded. The misses stay up.
Four Transactions, Three Skirmishes, And Not One Word About Left Guard

San Francisco signed tight end Josiah Deguara and receiver Trenton Irwin to one-year deals Friday, waived cornerback Derrick Canteen, and waived/injured tight end Tanner McLachlan. All four are in the club's own release.

Count the roster afterward and nothing has moved. This site counted the four tables on the 49ers' own roster page at 2:52 p.m. Pacific: 87 active, four on Active/Physically Unable to Perform, one on Reserve/Injured, one on Reserve/Left Squad. Active/PUP occupies a roster spot and the reserve lists do not, so the number against the offseason limit of 90 is 87 plus four, or 91. That was the count Thursday and it is the count now. Two in, two out, and still one body more than the rules allow.

Deebo Samuel is on none of the four tables. The club's newsroom index carried no release on him at 2:54 p.m. He agreed to terms Thursday night, and until San Francisco processes that agreement, another name is still owed.

Three of the last four subtractions came out of one afternoon in January#

McLachlan signed on July 25 and was waived/injured on July 31. Six days. He is the only player this site's 53-man tracker has carried onto the board and then off it; every other subtraction this camp has produced came from off the board entirely. Waived/injured is not waived, and the distinction matters here: the designation carries an injury settlement or a revert-to-injured-reserve path behind it, so a player who clears waivers in that condition reverts to the club's injured list rather than reaching free agency. Nobody has said what the injury is.

Canteen is the more useful name, and the reason is a date. He signed a Reserve/Future contract on January 20 of this year. So did William Bradley-King. So did Andrew Farmer II, and those two were waived/injured on Wednesday as the corresponding moves for K.J. Henry and Quinton Bell.

Three of the last four bodies the 49ers have removed to make room came out of the same January afternoon's paperwork, and the fourth was a tight end who had been here six days. That is what a full roster looks like from underneath. The club is not cutting into its team. It is spending down a class of players it signed in January so there would be something to spend in July.

Irwin's arrival closes a loop from Wednesday. He worked out for the club that afternoon alongside Alex Bachman and D'Wayne Eskridge, per Vic Tafur and Matt Barrows of The Athletic and David Lombardi of the San Francisco Standard, on a day when two of the top four receivers could not practice. The tryout list was a shopping list.

Deguara is 29, a third-round pick of Green Bay in 2020, with 77 games and 12 starts for three organizations and 53 catches for 471 yards. Irwin is 30, undrafted out of Stanford, with 41 games and nine starts for five and 46 catches for 601 yards. Neither carries a jersey number on the club's roster page yet.

The pads came on and the line play went unreported#

Friday was the fourth practice of camp and the first in pads. Every rep graded on this site's tracker before Friday was taken in shorts, which is the honest limit on all of it, and it bites hardest at the one open starting job on the offense.

Four accounts of the practice were read Friday afternoon: Matt Maiocco of NBC Sports Bay Area, Kyle Madson of Niners Wire, syndicated through the Press Democrat and Central Oregon Daily, and the ninernoise camp tracker. Not one of them carries a left guard note, an interior line note, or a rep count of any kind.

Which leaves the last published count at the position where it was six days ago, in Nick Wagoner's July 26 report for ESPN: Connor Colby "took all the reps with the starters Sunday, though Chris Foerster said Robert Jones will also compete there." All of them, not most. There has now been a padded practice on the far side of that sentence and it has not been added to. Colby and Jones both hold at 8 on the tracker, which is a hold on an absence of evidence rather than on evidence of a stalemate, and those are different things.

What everybody filed instead was the fight. Maiocco counted three skirmishes, with Dre Greenlaw and Christian McCaffrey at the center of two. Madson has Greenlaw shoving McCaffrey to the ground after a catch and McCaffrey throwing the ball at him and shoving back, then Fred Warner and tight end Jake Tonges going at each other after a reception, with right tackle Colton McKivitz pulled down by Greenlaw and fullback Kyle Juszczyk arriving into the pile. Foerster had told the team that morning to protect the team and not get into fights. His verdict afterward, per Maiocco: "I don't think it's anything more than a Day 1 issue."

Who was on the field#

Nick Bosa and Trent Williams were held out of team drills again and took part in one-on-one pass rush, per Maiocco. Defensive lineman C.J. West did not practice, with the club calling it minor and expecting him back soon, also Maiocco.

Maiocco has defensive lineman Alfred Collins taking part in the padded practice after opening camp on the physically-unable-to-perform list following shoulder surgery. The club's own roster page still listed him in the Active/PUP table when it was counted at 2:52 p.m. Both are recorded here with their times rather than reconciled, because a roster page that updates slower than a practice field is the likeliest explanation and not one this site can confirm.

Six men were out and none of them is new: Ricky Pearsall with the right knee, Jordan James with the rib, Christian Kirk with the calf, Malik Mustapha with the hamstring, Gracen Halton with the knee and Vederian Lowe with the ankle, per Madson.

The plays that got written down, all Maiocco: Brock Purdy to Mike Evans for a six-yard touchdown near the goal line, a leaping catch over nickel back Upton Stout; Demarcus Robinson catching a touchdown on a fade against Renardo Green; Mac Jones throwing 40 yards to Malik Turner; and rookie De'Zhaun Stribling catching passes from both Kurtis Rourke and Jones.

No grade on the 53-man tracker moved Friday. Deguara enters at 4 and Irwin at 3, both below the cut line, McLachlan leaves it, and the projected 53 is the same 53 it was Thursday.

Correction, 2026-08-17

This piece stated that San Francisco ended the day with "the same 91 bodies it started with" and that this was "still one body more than the rules allow." The count of 91 names on the club's roster page was right; the conclusion drawn from it was wrong. The NFL granted San Francisco a roster exemption for OL Isaac Alarcon on April 28, 2026, so he does not count against the 90-man offseason limit and the club was not over it at any point in camp. He begins counting at the cut to 53. The transactions the piece reports are unaffected; what falls away is the premise that the club owed the league a move.

DS

Sources. The four transactions, the contract terms, both career lines and Canteen's January 20 Reserve/Future date are from the 49ers' own release of July 31, checked against the club's transaction log the same afternoon. The roster count is this site's, taken table by table from the club's official roster page at 2:52 p.m. PT on July 31, and the newsroom index was checked at 2:54 p.m. Practice observations, the skirmish count, the Foerster quote, the participation notes on Bosa, Trent Williams, C.J. West and Alfred Collins, and the completions listed above are Matt Maiocco, NBC Sports Bay Area, July 31. The skirmish sequence and the absence list are Kyle Madson, Niners Wire, July 31. The July 26 left guard rep count is Nick Wagoner, ESPN. The Wednesday receiver workout is Vic Tafur and Matt Barrows, The Athletic, and David Lombardi, San Francisco Standard, July 29. Bradley-King's and Farmer's January 20 contract dates are from the club's July 29 release. Grades are maintained on this site's 53-man tracker. This site was not at the practice.

Filed under 49ers

Latest on the 49ers

The whole beat →
Robinson and West could return after the bye to a 49ers 53 with no room
49ers Notebook

Robinson and West could return after the bye to a 49ers 53 with no room

Kyle Shanahan named eight 49ers with a chance to return after the bye. Six are already on the 53-man roster. Two, wide receiver Demarcus Robinson and defensive lineman C.J. West, are on injured reserve, and each needs a roster spot that does not exist yet. The club's roster page on Thursday listed 53 active players, 14 on injured reserve, one on PUP and 17 on the practice squad. Of the six players released or waived from the 53 in October, four were defensive linemen, and three of those men are back on the practice squad.

Sam KezarOct 29, 20263 min read
DeForest Buckner has written two goodbyes, and the second one apologized
DeForest Buckner

DeForest Buckner has written two goodbyes, and the second one apologized

DeForest Buckner, born in Waianae, Hawaii, and drafted seventh overall by San Francisco in 2016, started all 63 games he played for the 49ers and was traded to Indianapolis for the 13th pick in March 2020, weeks after Super Bowl LIV. He played 95 games for the Colts, who reached the playoffs once in that time and lost at Buffalo. He came back from neck surgery for the 2026 season, and on October 27 the Colts, 2-5, traded him back to San Francisco for a 2027 fourth-round pick. His farewell to Indianapolis, posted October 28, ends with an apology.

Posey ThompsonOct 28, 20268 min read
Jack Jones is the roster spot the Buckner trade cost
49ers Notebook

Jack Jones is the roster spot the Buckner trade cost

The 49ers announced the DeForest Buckner trade Wednesday afternoon, a 2027 fourth-round pick to Indianapolis, and released cornerback Jack Jones to open the roster spot. Jones was active for all seven games and played 23 of 68 defensive snaps in the loss at Atlanta, per the official game book. The active roster now carries ten defensive linemen and five cornerbacks, and it is full at 53. Nick Wagoner of ESPN said Wednesday he would be surprised if the 49ers made no further move before the Nov. 10 trade deadline.

Sam KezarOct 28, 20263 min read

Earlier on the 49ers

Eddy Piñeiro will kick on Sunday, and there is nobody behind him
Roster Report

Eddy Piñeiro will kick on Sunday, and there is nobody behind him

Eddy Piñeiro has not kicked in a practice since the Melbourne game week ended, and Matt Maiocco reported Saturday that he will kick against Miami anyway. San Francisco auditioned Younghoe Koo and Greg Joseph and kept neither, so it carries one kicker into the home opener, counted across all four of the club's roster lists at 2:57pm. Ogbo Okoronkwo was promoted to the active roster and De'Zhaun Stribling went on injured reserve three days after ankle surgery. The league fined Kyle Juszczyk $20,033 and Jake Tonges $9,266 for plays in Melbourne.

Sam KezarSep 19, 20264 min read
My August Estimate Said $57 Million. Over The Cap Says $45,532,257.
The audit

My August Estimate Said $57 Million. Over The Cap Says $45,532,257.

Read in both books Thursday, September 10, 2026: San Francisco leads the NFL in cap space at $45,532,257 on Over The Cap and $50,209,913 on Spotrac. Over The Cap's charges rose $22,523,241 since August 27, against a modelled $9,842,532 to $10,825,332, so the August estimate missed by between $11,697,909 and $12,680,709. The practice squad landed inside the modelled range at $4,617,000 and dead money was light by $756,599. The miss is the reserve lists: injured reserve, reserve/PUP and one suspension carry $39,632,011, of which $3,419,563 reached the published number in August, and none of the three was an input to the estimate. The gap between the two books has collapsed from $11,991,268 to $4,677,656, and $6,302,000 of what is left is the two sites filing one player's absence under different headings at different prices. Trent Williams remains $2,499,997 apart, unchanged for thirty-three days, and that one contract is larger than the entire $2,059,992 active-roster difference. Of three calls resolving September 15, two are on track right and one is wrong by $322,344.

Jamie SilvaSep 10, 20268 min read
San Francisco Has Never Been Over The Roster Limit. The 91st Man Has A Name And An Exemption.
Roster

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

Isaac Alarcon does not count against the 49ers' 90-man offseason roster. The NFL granted San Francisco an exemption for him in April, which means the club has been sitting exactly on the limit rather than one body above it, and that every signing since has cost somebody a job by rule rather than by choice. Sunday produced four transactions, two of them replacements for men who broke on Saturday, and three edge-rusher workouts that say the club is not finished.

Sam KezarAug 2, 20265 min read