Camp Notebook

Pearsall's Knee, Two Quarterback Lines, And A Strip-Sack To Open Team Drills

Wednesday was a media-only practice at the SAP Performance Facility, and the most consequential thing at it was an injury report rather than a repetition. Ricky Pearsall's knee is swollen, the receiver room behind him is suddenly the deepest part of the roster, and Brock Purdy went 14 of 18.

SK
Sam KezarJul 29, 20263 min read
Every call on this site goes on a public ledger and gets graded. The misses stay up.
Pearsall's Knee, Two Quarterback Lines, And A Strip-Sack To Open Team Drills

Wednesday's practice was media-only, it started at 10:10am at the SAP Performance Facility, and the thing that mattered most did not happen on the field.

Ricky Pearsall's knee is the story. Nick Wagoner of ESPN reported swelling related to a PCL injury the receiver carried over from last season, and that surgery is being explored. Wagoner's phrasing is that the swelling could potentially lead to season-ending surgery. No timetable has been given and the team has not announced anything, so what exists is one reporter's dated account of a knee that is not right. That is the whole of it, and it is enough to reorder a position group.

Which makes the receiver room the most crowded part of this roster, by subtraction. Christian Kirk was on the sideline with a calf strain. Pearsall is where he is. That leaves Mike Evans, Demarcus Robinson, Jordan Watkins, Jacob Cowing and De'Zhaun Stribling taking the work in a group the 49ers spent the offseason rebuilding around two veteran signings and a second-round pick.

Stribling caught five passes, including a leaping grab from Adrian Martinez that Brad Graham described as showcasing a catch radius he called insane. Stribling was the 33rd pick in April. A rookie receiver getting five in a single session says as much about who was unavailable as about him, and both things can be true.

Jordan James has a fractured rib, which moves the backfield. Kaelon Black handled the heavier workload behind Christian McCaffrey. Malik Mustapha has a hamstring strain. Trent Williams had a scheduled rest day, which is a different category and worth keeping separate from the four names above it.

Brock Purdy completed 14 of 18 in team drills, per Wagoner, who had him sharp on in-breaking routes to Watkins, Evans and Stribling and unable to connect on a couple of deep balls. Renardo Green broke up one of them, a deep ball intended for Evans.

Mac Jones went 11 of 15, per Matt Barrows of The Athletic, with two of those completions to tight end Jake Tonges. Early in team drills Jack Jones intercepted him on a pass intended for Cowing, per Wagoner.

Dre Greenlaw opened team drills by stripping McCaffrey and recovering the fumble, per Barrows. It is the first repetition of the day and it went to the defense, which is the kind of detail that gets forgotten by August and remembered in December.

QB3 is still QB3. Kurtis Rourke and Adrian Martinez are both still there, and offensive coordinator Klay Kubiak said the competition will kind of play itself out, by which he means in the preseason games. Nothing about Wednesday narrowed it.

The call: Kaelon Black is on the 49ers' initial 53-man roster when it is set on August 30. Scored off the roster the club announces at the mandatory cut, not the practice squad, and not a later signing. He is a rookie whose workload went up because a teammate fractured a rib, which is the most fragile reason to be getting reps, and that is why this is worth writing down rather than assuming.


Sources. Practice date, start time and the media-only designation are from 49ers Webzone's July 29, 2026 report and the club's announced camp schedule. Pearsall's knee swelling, the PCL carryover and surgery being explored are Nick Wagoner, ESPN, July 29; Purdy's 14-of-18 line, the in-breaking routes, Renardo Green's breakup and the Jack Jones interception are also Wagoner. Mac Jones' 11-of-15 line, the two completions to Jake Tonges and Greenlaw's strip-sack of McCaffrey are Matt Barrows, The Athletic, July 29. Jordan James' fractured rib, Malik Mustapha's hamstring strain, Christian Kirk's calf strain, Trent Williams' rest day, Stribling's five receptions and the Klay Kubiak quote are from the same July 29 Webzone report, which credits the Brad Graham observation on Stribling. Evans' and Kirk's arrivals and Stribling's No. 33 selection are matters of record from the 2026 offseason. This site was not at the practice.

Filed under 49ers

More on Jordan James

His page →
Greenlaw has drawn league discipline in three of his six games
49ers Notebook

Greenlaw has drawn league discipline in three of his six games

The NFL fined Dre Greenlaw $12,537 for unnecessary roughness, striking an opponent, after his attempt to punch the ball loose from Drake London landed on London's helmet in the 49ers' loss at Atlanta on Oct. 25. Running back Jordan James was fined $6,194 for unnecessary roughness, use of the helmet, in the same game. Neither play was penalized. It is Greenlaw's second fine of the season after a taunting fine against Denver, and between them he was ejected at Seattle and suspended for the Washington game.

Sam KezarOct 31, 20263 min read
The 49ers never hit Penix, and they gave Atlanta the ball four times
Takeaways

The 49ers never hit Penix, and they gave Atlanta the ball four times

Atlanta beat San Francisco 29-20 at Mercedes-Benz Stadium on Sunday, the 49ers' first loss, and they are 6-1 into the bye. San Francisco led 14-3 on the first play of the second quarter and Atlanta scored the next 23 points. The 49ers turned the ball over four times and Atlanta scored 13 points off them; Atlanta did not turn it over. The official game book credits the 49ers' defense with no sack, no quarterback hit and no pass defensed on Michael Penix Jr.'s 34 throws. Atlanta made four first downs by San Francisco penalty, three of them on its 90-yard touchdown drive. Christian McCaffrey left with a thigh injury after the second possession, returned for the third quarter and had 26 yards on six touches afterward. Kaelon Black ran for 60 yards in the first half, scored from 30 yards and lost a fumble one play after Jordan James fumbled. Christian Kirk played 20 snaps in his debut and was not targeted. Eddy Pineiro missed an extra point, his seventh missed kick in 34 tries this season, and Kyle Shanahan said the club would discuss the position on the plane.

Sam KezarOct 26, 20265 min read
Greenlaw's suspension is over, and Kirk still needs a roster spot
49ers Notebook

Greenlaw's suspension is over, and Kirk still needs a roster spot

The league lifted Dre Greenlaw's one-game suspension on Tuesday and put him on a roster exemption, and the 49ers released defensive tackle Naquan Jones the same afternoon. Fred Warner and Jaden Dugger played 67 and 64 of 67 defensive snaps on Monday with Greenlaw out. Jones's spot is the one Greenlaw needs, which leaves the 53 full again and means Christian Kirk, whose practice window closes Nov. 5, needs a second move. Kyle Shanahan said after Monday's win that Mike Evans's Achilles tendinitis is not a long-term thing; Ian Rapoport said on ESPN, per 49ers Webzone, that Evans will have to manage it for the better part of the season. Shanahan said he would be surprised to get Deebo Samuel or Demarcus Robinson back for Atlanta. James Thompson Jr. played 21 snaps on Monday in his return from an ankle injury. Luke Gifford (groin) and Upton Stout (shoulder) have no update since Monday; the first report of the short week follows Wednesday's practice.

Sam KezarOct 20, 20263 min read

More on Mac Jones

His page →
Nine Takeaways From The 49ers' 19-13 Loss To Tennessee, Starting With The Rookie Who Caught Seven Passes
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

On the record

Called Shots →
Held upJul 29, 2026

Kaelon Black is on the San Francisco 49ers' initial 53-man roster as announced at the August 30, 2026 mandatory cut. Scored off the initial 53 only: the practice squad is a miss, a later signing or elevation after the initial roster is a miss, and being placed on injured reserve from the initial 53 counts as a hit.

Black is a rookie running back whose Wednesday workload increased because Jordan James fractured a rib, which is the most fragile possible reason to be getting reps. If James is back before cut day the reps go with him. Against the call: the 49ers carried McCaffrey plus a thin room behind him, and a back who has taken first-team-adjacent work in camp is usually kept over a body they would have to teach. This resolves in 32 days and it is genuinely close.

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

The 49ers released Ogbo Okoronkwo to make room for Mykel Williams
49ers Notebook

The 49ers released Ogbo Okoronkwo to make room for Mykel Williams

The 49ers released defensive lineman Ogbo Okoronkwo on Friday, leaving 52 on the active roster, and Kyle Shanahan said Mykel Williams will be activated from the physically unable to perform list on Saturday. Nick Bosa, Kyle Juszczyk, Marques Sigle and James Thompson Jr. are out at Seattle. Upton Stout, who did not practice Friday, and Williams are questionable. Mike Evans practiced on a limited basis and has no game designation.

Sam KezarOct 9, 20263 min read
Fred Warner Is The 49ers' Career Tackle Leader, On The Column That Counts Assists
49ers Notebook

Fred Warner Is The 49ers' Career Tackle Leader, On The Column That Counts Assists

Fred Warner became San Francisco's all-time leading tackler in the second quarter of the season opener in Melbourne, passing Patrick Willis, who held the franchise record at 950. Warner entered the season at 948 and finished the game at 959 in 122 games. The record is kept on combined tackles, solo plus assisted, and on solo tackles alone Willis still leads him 733 to 602. Kyle Shanahan gave an MCL for Jake Tonges and an ankle for De'Zhaun Stribling with no timetable on either, and the club has filed no transaction on either man.

Sam KezarSep 11, 20264 min read
Kurtis Rourke Has Three Broken Ribs And Does Not Play Tonight
Camp Notebook

Kurtis Rourke Has Three Broken Ribs And Does Not Play Tonight

Kyle Shanahan confirmed on Tuesday that Kurtis Rourke broke three ribs in the preseason opener, twelve days after the club said the X-rays taken in the stadium showed nothing broken and sent him to hospital for more imaging. Rourke does not play in Thursday's finale at Las Vegas and Adrian Martinez takes the last game of the third quarterback competition. Shanahan also named Christian Kirk and Vederian Lowe as candidates to open the regular season on injured reserve, a designation that costs each of them at least the first four games and costs San Francisco a roster spot on Sunday; said Dominick Puni is most likely back in the concussion protocol; put Nick Bosa, Jacob Cowing, Upton Stout and Mike Evans back at practice next week rather than this one; and left the left guard job to Connor Colby and Carver Willis with Robert Jones hurt. The club signed defensive lineman Jah Joyner on Thursday morning and placed Victor Dimukeje on injured reserve to make room.

Sam KezarAug 27, 20263 min read