Camp Notebook

The Edge Room Lost Three Bodies While The New Receiver Took Ten Snaps

Camp practice five. Deebo Samuel practised on a script, De'Zhaun Stribling did not practise at all, and San Francisco lost three edge defenders inside two hours.

SK
Sam KezarAug 1, 20263 min read
Every call on this site goes on a public ledger and gets graded. The misses stay up.
The Edge Room Lost Three Bodies While The New Receiver Took Ten Snaps

San Francisco practised Saturday morning in Santa Clara, the fifth session of camp and the second in pads. The observations below come from Nick Wagoner of ESPN, Jennifer Lee Chan of NBC Sports Bay Area and Tim Kawakami of the SF Standard, all filed the same day, plus the club's own release and roster page. Nobody from this site was there.

The roster move came first, at 9:44 a.m. The 49ers signed Deebo Samuel to a one-year deal and placed Ricky Pearsall on injured reserve in the same release, and the club's roster page lists Pearsall under Reserve/Injured. That is the corresponding move this beat has been waiting on since Thursday night, and it is the first player all camp to leave the 53-man projection in either direction. The release names no injury and gives no timeline. John Lynch said afterward that the decision had been made and that surgery was the course of action everyone felt was appropriate. The club has put no timeline on it, and this notebook does not carry one either.

Samuel practised on a script, and the number is small on purpose. Wagoner has him in one-on-ones and limited to about ten snaps in team drills, with three catches, one over the middle from Brock Purdy for a big gain. Chan has roughly ten planned plays, catches from both Purdy and Mac Jones including a screen and a route to the flat, work in the run game, and a job returning kicks. Both accounts describe the same ramp.

The fourth receiver went down before the fifth practice was over. De'Zhaun Stribling, the rookie taken 33rd overall, missed the session with hamstring tightness. He had taken the first-team slot reps for three straight practices, and Kawakami on Saturday morning called him the most impressive receiver in this camp after Mike Evans. Christian Kirk missed his fourth straight with the calf he strained in camp's opening session, the last practice he was on the field for at all. For the first time, neither man in the WR3 competition was on the field.

The edge room lost three bodies. Keion White started and did not finish, with an adductor issue from one-on-ones. Romello Height sat out with an elbow. Mikail Kamara, an undrafted rookie, left on a cart; the club announced a knee, and has offered nothing past the body part, no timeline and no prognosis. Those are the two men taking first-team defensive end reps opposite each other, plus the depth behind them, on a line already missing Mykel Williams and running Nick Bosa on limited work.

One item needed a second source and has one. Wagoner writes that "DL Keion White (adductor), DL Mikail Kamara (knee) and RB Kaelon Black (undisclosed) did not finish the practice after starting it." Chan's absence list is longer than Wagoner's and does not mention Black at all; 49ers Webzone has him out of the latter portion of team drills and says in as many words that whether he suffered a setback is unclear. So two accounts have him leaving the field early and neither has a reason. That matters more than a normal depth note, because Black is competing for the backup running back job against Jordan James, who has a fractured rib.

The offense was bad and both accounts say so. Miscommunication, overthrows from Purdy and from Jones, and an exchange between Jones and centre Brett Toth that hit the ground. Wagoner reads fatigue into it. Toth is in the backup centre competition, which makes his the one name in that sentence with a roster consequence attached.

The good plays, for the record. Luke Farrell caught a touchdown from Purdy in the move-the-ball period. Christian McCaffrey sold a fake, cut back against the grain and went a long way untouched. Eddy Piñeiro made all six of his field goal attempts, the longest from 55 with room to spare.

Kyle Shanahan addressed the team for the first time since the July car accident, then spent the practice on the field giving the offense feedback in real time. He had watched the previous four from behind the defensive backfield. Lynch, on Shanahan: "He's doing better. He got a nice welcome and it was good to have him up there."

Also out: Jordan James (ribs), Malik Mustapha (hamstring), C.J. West, Gracen Halton (knee) and Cameron Sample (knee). Kawakami has Trent Williams dominating one-on-one pass rush and Nick Martin working at strongside linebacker.

Two names crossed the 53-man projection today, which is two more than had crossed it in the first four practices combined. The reasoning for both is on the 53-man tracker.


Sources. Nick Wagoner, ESPN, August 1, for the practice log, the players who did not finish, the Samuel snap count and the Lynch quote. Jennifer Lee Chan, NBC Sports Bay Area, August 1, for the absence list, the Samuel usage, the Jones exchange, the Piñeiro kicks, the McCaffrey run and the Farrell touchdown. Tim Kawakami, SF Standard, August 1, for the Stribling assessment, Trent Williams and Nick Martin. David Bonilla, 49ers Webzone, August 1, for the club's announcement of Kamara's knee and for Kaelon Black leaving the latter portion of team drills. Kirk's absence count is this site's own, against its published camp reports of July 26, 27, 29 and 31: he strained the calf during the opening session and has not practised since. The 49ers' official release and transaction log, August 1, 9:44 a.m., and the club roster page, both read at the primary the same afternoon.

Filed under 49ers

More on De'Zhaun Stribling

His page →
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
San Francisco will sign a kicker on Saturday, and it has not worked one out
Practice Notebook

San Francisco will sign a kicker on Saturday, and it has not worked one out

San Francisco filed its final Week 2 injury report after Friday's practice with three game designations on it: De'Zhaun Stribling out, Eddy Piñeiro and Kaelon Black questionable. Piñeiro has not practised since the Melbourne game week ended, and the club's roster page carried no second kicker anywhere on Friday afternoon. Kyle Shanahan said San Francisco will add one on Saturday, that two men are under consideration, and that he does not know which. Nine of the twelve names on the report practised in full.

Sam KezarSep 18, 20264 min read
The 49ers rested four veterans Wednesday, and three were full a day later
Game Week

The 49ers rested four veterans Wednesday, and three were full a day later

San Francisco filed its first official Week 2 injury report this week, and eleven 49ers were on it. Six did not practise Wednesday and four of those six were rest days: Nick Bosa, Dre Greenlaw, Christian McCaffrey and Trent Williams. By Thursday, Greenlaw, McCaffrey and Williams were full participants and Bosa was limited. The two men who have not practised either day are Eddy Piñeiro, who is ill, and De'Zhaun Stribling, whose ankle needed surgery. Kaelon Black joined the report Thursday with a groin. Every man on Thursday's report played against the Rams in Melbourne.

Sam KezarSep 17, 20265 min read

On the record

Called Shots →
MissedJul 31, 2026

Between the 49ers' first regular-season game and 2026-11-01, Deebo Samuel runs more pass routes from the slot than from out wide. Method, fixed in advance: alignment splits as published for Samuel over that span, slot routes against wide routes, backfield routes excluded from both sides. Ties resolve as FALSE. The comparison is his own two figures, so no league-wide source is needed to score it.

The call is on the ROLE the money implies, not on production. His 2025 usage in Washington was 260 slot routes against 141 out wide and 15 from the backfield, out of 416, at 5.3 average air yards per target across 99 targets, with 67 of those 99 inside ten yards. Niners Nation projects him to the slot with Stribling at Z and Mike Evans at X. A one-year agreement whose value the player's own agent describes as a ceiling is a continuity buy, and a continuity buy uses the player it just watched rather than the one from 2021. If he instead lines up mostly wide, the read in the piece is wrong and the team bought something closer to the older version.

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

Seattle has not let the 49ers score a touchdown since last season's opener
Game Week

Seattle has not let the 49ers score a touchdown since last season's opener

San Francisco (4-0) plays at Seattle (3-1) at 1:25 p.m. Pacific on FOX. The 49ers scored three field goals and no touchdowns in last season's two losses to the Seahawks, 13-3 in Week 18 and 41-6 in the divisional round. Brock Purdy has not been sacked this season. Nick Bosa, James Thompson Jr., Kyle Juszczyk and Marques Sigle are out; Upton Stout is questionable; Mykel Williams makes his season debut. Ten men to watch.

Sam KezarOct 11, 20264 min read
Dante Pettis is back because the 49ers have three healthy receivers
49ers Notebook

Dante Pettis is back because the 49ers have three healthy receivers

Kyle Shanahan said before Wednesday's practice that eight players would not work: Mike Evans (ribs), KhaDarel Hodge (knee), Trent Williams (neck stinger), Dre Greenlaw (quad), Nick Bosa (calf), James Thompson Jr. (ankle), Keion White (hamstring) and Christian McCaffrey (rest). Mykel Williams, back from a torn ACL, and Romello Height, back from hand surgery, were limited. The club signed receiver Dante Pettis to its practice squad.

Sam KezarSep 30, 20263 min read
Week 3 takeaways: Arizona had the ball for 38 minutes and never led
49ers Takeaways

Week 3 takeaways: Arizona had the ball for 38 minutes and never led

San Francisco is 3-0 after a 36-30 win over Arizona. The 49ers led from the 8:26 mark of the first quarter to the end while running 50 offensive plays to Arizona's 81, and averaged 8.7 yards a play to Arizona's 4.5. Purdy was 15 of 27 for 297 yards, four touchdowns, no interception and no sack. Kittle caught both fourth-quarter touchdowns, the second two snaps after his own holding penalty wiped out a 45-yard Purdy touchdown run. Jordan Watkins caught two passes for 60 yards in his first game of the season. The defense was on the field for 87 snaps with nine linemen dressed. Evans (rib or oblique) and Trent Williams (stinger) left and did not return; Greenlaw left with a quad.

Sam KezarSep 28, 20265 min read