Camp Notebook

Christian McCaffrey Took Roughly Seven Team Reps On Sunday

His first team work since the tightness, on a morning that also got two shoulders back in no-contact jerseys, lost a defensive lineman to the non-participant list, and produced nothing at all on the cornerback everybody is waiting on.

SK
Sam KezarAug 23, 20263 min read
Every call on this site goes on a public ledger and gets graded. The misses stay up.
Upton Stout bursting past a coach holding a padded shield during a 49ers training camp drill in Santa Clara, in a white practice jersey numbered 20, with teammates waiting their turn behind him. A club gallery photograph, not from Sunday's practice.

The 49ers practised at 10:15 on Sunday morning, four days before the preseason finale at Las Vegas and seven days before the roster comes to 53. Odds and ends from the reporters who were there.

Christian McCaffrey took roughly seven reps in team drills, several of them carries. That is the count from Nick Wagoner's camp file, and it is his first team work since the tightness that had kept him out of both preseason games and off the practice field since August 8. Marc Adams has the return without a rep count (49ers Webzone, August 23).

George Kittle practised in individual drills only. Matt Maiocco had him expected there with the team periods unknown, filing at 10:15am PT; Wagoner has him in individual work and nothing else. San Francisco activated him from the physically unable to perform list at two minutes past ten.

Klay Kubiak, after practice, on having both of them back: "It definitely just gives us energy. You have two Hall of Fame caliber players out there." (Wagoner, ESPN, August 23)

Deommodore Lenoir practised in a blue no-contact jersey, De'Zhaun Stribling in a black one. Both hurt a shoulder against the Chargers on Thursday and the club called both day-to-day. Wagoner and Adams have the same two returns and the same two colours.

Renardo Green did not appear in either account, in any direction. The imaging Kyle Shanahan ordered for Friday still had no published result as of 3:00pm PT Sunday, three days on. The last positive word on him is Maiocco's from Saturday: Green was conditioning on the practice field, and the hamstring looks mild (via David Bonilla, 49ers Webzone, August 22). He has now missed two practices with no timeline attached to anything.

Romello Height is new to Sunday's non-participant list. Wagoner notes that Height had moved slowly on Saturday and gives no body part. No other Sunday account carries the absence at all, so it is one reporter's observation rather than a club disclosure, and it matters because Height takes first-team edge reps.

Upton Stout intercepted Brock Purdy on a throw meant for Stribling, which Wagoner describes as an apparent miscommunication. Purdy also dropped a deep ball to Deebo Samuel over Fred Warner for a big gain.

Transactions, for the record. The club announced on Saturday evening that it had re-signed tight end Khalil Dinkins to a three-year deal and waived defensive lineman Xavier Thomas with an injury designation. The release is timed 6:15pm PT on August 22. The club's own transaction log dates the same move 08/20, two days earlier. Thomas had signed on August 12. Kittle's activation appears on neither the log nor the newsroom index.

The week from here, off the club's published practice and media schedule: a walk-through with no media on Monday, practice at 10:15 with an availability on Tuesday, a walk-through on Wednesday, and then Las Vegas at 5:00pm PT on Thursday. The roster is due at 3:00pm PT on Sunday, August 30.

Filed under 49ers

More on Christian McCaffrey

His page →
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
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
San Francisco Stopped The Rams On Fourth And One At Its Own 1, Then Drove 99 Yards
Week 1 Takeaways

San Francisco Stopped The Rams On Fourth And One At Its Own 1, Then Drove 99 Yards

The 49ers opened 1-0 with a 27-7 win over the Rams at the Melbourne Cricket Ground, Thursday evening in the Bay Area and Friday morning in Australia. Los Angeles reached the San Francisco 1 in the third quarter and turned the ball over on downs; San Francisco answered with an 11-play, 99-yard touchdown drive. Connor Colby started at left guard and the whole line played every snap, George Kittle played 30 of 65 in his return, Kaelon Black carried more often than Christian McCaffrey, and De'Zhaun Stribling started at receiver without being thrown to. Nine takeaways off the official game book.

Sam KezarSep 11, 20265 min read

More on Brock Purdy

His page →
Week 4 takeaways: three points in seven drives, then Siran Neal forced a fumble
49ers Takeaways

Week 4 takeaways: three points in seven drives, then Siran Neal forced a fumble

San Francisco is 4-0 after a 24-14 win over Denver. It was 3-3 at halftime and the 49ers had punted four times, been stopped on fourth down and had a field goal blocked before Siran Neal forced and recovered a fumble on a punt return at the Denver 28. Touchdowns followed on three straight possessions, the last a 56-yard George Kittle catch and run with 2:15 left. Purdy was 19 of 30 for 218 yards and two touchdowns and was not sacked for the fourth straight game. Mike Evans played 39 of 66 snaps with a rib injury and led the team with 76 receiving yards. Kyle Juszczyk (knee), Upton Stout (shoulder) and Marques Sigle (ankle) were hurt, and none has a diagnosis.

Sam KezarOct 5, 20265 min read
Denver's 68-sack defense is next for Brock Purdy, who has not been sacked
Game Week

Denver's 68-sack defense is next for Brock Purdy, who has not been sacked

San Francisco (3-0) hosts Denver (2-1) at 1:25 p.m. Pacific on CBS. Brock Purdy has not been sacked this season, and the Broncos led the league with 68 sacks in 2025. Nick Bosa, James Thompson Jr. and Mykel Williams are out. Mike Evans, Dre Greenlaw, Keion White and Jaden Dugger are questionable. Matthew Judon and Malik Turner were elevated Saturday and Sebastian Valdez was promoted to the 53. Ten men to watch.

Sam KezarOct 4, 20264 min read
Brandin Cooks needed eight days on the 49ers' practice squad to reach the 53
49ers Notebook

Brandin Cooks needed eight days on the 49ers' practice squad to reach the 53

The 49ers promoted receiver Brandin Cooks to the active roster on Thursday, signed receiver Malik Turner to the practice squad and released KhaDarel Hodge. Mike Evans (ribs) missed a second straight practice. Trent Williams returned, limited, from a neck stinger. Brock Purdy was named NFC Offensive Player of the Month.

Sam KezarOct 1, 20263 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 →
Mykel Williams says he is ready to play Seattle after a year away
49ers Notebook

Mykel Williams says he is ready to play Seattle after a year away

Mykel Williams, back from a torn ACL, was limited Wednesday and told reporters he is ready to play. The 49ers opened his practice window Sept. 30 and must activate him by Oct. 21; the 53 is full, so activating him takes a move. Nick Bosa, James Thompson Jr., Kyle Juszczyk, Marques Sigle and Upton Stout did not practice. Xavier Smith joined the practice squad and Dante Pettis went on practice squad injured reserve.

Sam KezarOct 7, 20263 min read
Denver built Sunday's zero. The hits that left with Bosa were Odighizuwa's
49ers Deep Dive

Denver built Sunday's zero. The hits that left with Bosa were Odighizuwa's

San Francisco did not sack Bo Nix in Sunday's 24-14 win over Denver and hit him twice, both in the fourth quarter. The zero was mostly Denver's design: Nix threw 36 of 42 passes short, Denver had allowed five sacks in three games, and the 49ers' own priority was keeping Nix in the pocket, which held him to two scrambles. The season numbers say something else. With Nick Bosa the 49ers were credited with 13 quarterback hits on 55 opponent pass plays; without him, 7 on 96. Bosa had one of the 13. Osa Odighizuwa had five, and he has had none since Bosa got hurt. Bosa is not expected back for Seattle.

Sam KezarOct 6, 20266 min read
Kyle Juszczyk will miss a few weeks and the 49ers have no other fullback
49ers Notebook

Kyle Juszczyk will miss a few weeks and the 49ers have no other fullback

Kyle Shanahan said Monday that Kyle Juszczyk has a hyperextended knee and a bone bruise and will miss a few weeks, that Marques Sigle has a high ankle sprain, and that Upton Stout is day to day with a sprained AC joint. Brayden Willis, Luke Farrell and George Kittle share the fullback's work. Nick Bosa and James Thompson Jr. are probably out again at Seattle; Mykel Williams could be activated.

Sam KezarOct 5, 20263 min read

Earlier on the 49ers

Matt Judon, sackless last season, is up for the Bosa week
49ers Notebook

Matt Judon, sackless last season, is up for the Bosa week

The 49ers promoted defensive tackle Sebastian Valdez from the practice squad to the active roster and waived Viliami Fehoko Jr. on Saturday. Matthew Judon and Malik Turner were elevated for Sunday's game against Denver. With Nick Bosa and James Thompson Jr. ruled out, nine defensive linemen are available, Judon included.

Sam KezarOct 3, 20263 min read
Bosa will miss Denver, and the 49ers signed Matt Judon to the practice squad
49ers Notebook

Bosa will miss Denver, and the 49ers signed Matt Judon to the practice squad

The 49ers signed four-time Pro Bowl pass rusher Matt Judon to their practice squad on Monday, filling it to 17. Kyle Shanahan said Nick Bosa and James Thompson Jr. will not play against Denver, Mike Evans's rib injury should not be long-term, and Trent Williams should be ready by Thursday. Romello Height is expected to practice this week and Mykel Williams's practice window opens.

Sam KezarSep 28, 20263 min read
Miami ran 17 of its 19 first-half designed runs between the guards
Week 3 Depth Chart

Miami ran 17 of its 19 first-half designed runs between the guards

Two days after the 35-13 win over Miami, the official game books show where opponents are running against San Francisco: 42 of 54 designed runs across two games went up the middle or over a guard, for 4.0 yards a carry. Miami sent 17 of its 19 first-half designed runs inside for 74 yards. Fox analyst Daryl Johnston said on the broadcast that Kyle Shanahan had flagged the between-the-tackles run defense as a concern. James Thompson Jr., who took 42 defensive snaps across the two games, has a high-ankle sprain, and Gracen Halton, who made his first career start Sunday, has out-snapped C.J. West 63 to 49.

Sam KezarSep 22, 20264 min read