49ers
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 →
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

Dominick Puni Is In Concussion Protocol And The Left Guard Job Is Still Three Deep

Dominick Puni, No. 77, entered the NFL's return-to-play protocol after sustaining a concussion on Saturday, and did not practise Sunday. The left guard competition on the other side of the centre is still three men, and offensive coordinator Klay Kubiak said Sunday that the reps are being divided three ways. No account of Sunday's first-team alignment had published as of a 3:07 p.m. PT check of four sources individually, and the club's own recap, which has landed between 3:40 and 4:09 p.m. all camp, had not appeared. Saturday's documented alignment had Connor Colby and rookie Carver Willis rotating with the first team and Robert Jones limited at second-team right guard. Nick Bosa did side work for the first time since August 3. One grade moved on this site's 53-man projection and nobody crossed the cut line.

Sam KezarAug 16, 20263 min read
Dominick Puni Is In Concussion Protocol And The Left Guard Job Is Still Three Deep
Camp Notebook

The Injury List Picked Wednesday's Left Guard

The 49ers practiced Wednesday with 18 of their active 90 unavailable and the top five receivers they entered camp with all among them. Robert Jones took the first-team left guard reps, per David Lombardi, and Chris Foerster explained it as a plan to move Connor Colby around that the injuries to Carver Willis and Brett Toth cut short. Brock Purdy went 13 of 14. Two more players left during practice. Nobody who filed on the session reported a kick return by anybody, which is inconvenient for a call this site made Wednesday morning.

Sam KezarAug 6, 20264 min read
The Injury List Picked Wednesday's Left Guard
The cap sheet

About $39 Million Of The 49ers' Cap Space Did Not Come From The 2026 Salary Cap

The 49ers have more cap space than any team in football. Roughly 55 percent of it arrived from outside the 2026 salary cap, and about $7 million of that is an insurance policy paying out on Nick Bosa's knee.

Jamie SilvaJul 26, 20267 min read
About $39 Million Of The 49ers' Cap Space Did Not Come From The 2026 Salary Cap