49ers
Camp Notebook

Brett Toth's Undisclosed Injury Was A Concussion, And This Board Took Him Off The 53

Camp practice nine, Saturday in Santa Clara. San Francisco named a concussion for Brett Toth that had not been disclosed before and a hamstring for Luke Gifford, and its own evening recap lists both men as having missed the session. Nick Bosa sat a third straight day and Kyle Shanahan answered questions for the first time since July 14.

SK
Sam KezarAug 8, 20268 min read
Every call on this site goes on a public ledger and gets graded. The misses stay up.
Brett Toth in January 2021, nameplate TOTH over number 64 in a Philadelphia Eagles midnight green home jersey, pulling out of his stance to lead-block for quarterback Jalen Hurts while Washington's Daron Payne, number 94, comes around the edge. This site holds no photograph of Toth in a 49ers uniform.

San Francisco practised Saturday morning in Santa Clara, the ninth full session of camp. The observations below come from Marc Adams and David Bonilla of 49ers Webzone, Grant Cohn of Sports Illustrated and Cam Inman of the Bay Area News Group, all filed Saturday, plus the club's own roster page and transaction log, both read at the primary the same afternoon. Nobody from this site was there.

The club named an injury it had been sitting on. Offensive lineman Brett Toth is recovering from a concussion, per Bonilla, carrying the club's own announcement, and Bonilla says in as many words that the injury was previously undisclosed. That matters here more than it usually would, because this beat has carried Toth as "undisclosed" since August 5 and spent Thursday and Friday recording two published versions of what was wrong with him. The club and Bonilla said undisclosed. Adams, in his Day 8 quick hits, said concussion. Adams was right, and this site's board declined to pick between them for two days rather than guess, which was the correct call and is now also the boring one.

Toth came off the 53-man projection on it. He was graded 7 in the backup centre competition, the tracker armed a drop in advance on Friday against two stated conditions, and the drop is executed today: 7 to 6, outside the projected 53. Those conditions were a signing out of Friday's workout group or a missed Saturday practice. Nobody has been signed. The second one fired, and it was the club that fired it: San Francisco's own Day 9 recap, published to its newsroom after this notebook was first written and read here at 5:24pm PT, lists "OL Brett Toth (concussion)" among the men who did not practice. Inman's pre-practice absence list, which is where this beat was standing an hour earlier, carries five names, is not offered as complete, and omits three other injured linemen, so it could not settle the question on its own. The club's list did. He is the second offensive lineman this board carries in that protocol, alongside Carver Willis, whose own entry has been unchanged since Foerster described him as in it on August 5, and a concussion carries a mandated clearance step the club does not control with the preseason opener on Thursday.

Linebacker Luke Gifford has a hamstring, announced in the same breath, and the same club recap has him not practising. No timeline, and a first named absence with no timeline does not move a grade on this board. He holds at 8.

Nick Bosa missed a third straight practice, per Inman, with what the club has labelled soreness. Kyle Shanahan addressed it directly: "He was doing great, and then he got sore just going through some of the individuals. I mean, you wish that didn't happen, but no, there's no concern to where something's happened that is a big setback or anything. But we're waiting until the soreness goes away and evaluating why the soreness has happened." Mike Evans missed his fourth full practice with a quad strain, Christian Kirk is still on a calf, and Inman had both running backs in the backup competition out before the session started, Kaelon Black with an adductor and Jordan James with a rib.

The left guard competition produced its worst notice of camp for a man who is not currently taking the first-team reps there. Adams has Connor Colby losing most of his one-on-one reps, two of them to defensive lineman James Thompson Jr., and writes that Colby had looked like he was running away with this earlier in camp and has struggled lately. That "earlier" is doing real work and this beat is not going to let it slide past, because the word for where Colby stands now is already on this site: Thursday's notebook reported that Robert Jones had taken the first-team left guard reps for a second straight practice while Colby rotated with the twos and threes at both guard spots. Chris Foerster said something adjacent in his Wednesday availability, that some of what Colby struggled with a year ago is coming back, "not as bad as they were, but still not the consistency that we'd like to see."

His grade holds at 8, and the reason is narrower than it was on Wednesday. One-on-ones are pass protection against a defensive lineman rather than first-team alignment, and a bad drill is not a depth-chart move. What would be a depth-chart move is not visible today, because nobody has published a Saturday first-team rep count at this position, the club included. Niners Nation's camp page carried no practice report at 3:52pm PT. The club's own Day 9 recap has since published and was read here in full at 5:24pm: it names Toth, Gifford and Bosa in its injury section and gives no offensive line alignment at all, so the absence is now measured against the club's own account of the day rather than against its silence. A grade that holds because nobody printed the alignment is a grade waiting on Monday, and that is worth saying rather than dressing up.

This site holds two open calls that Colby starts Week 1 at left guard, one filed July 27 and one August 5, both scored off the official starting lineup in Melbourne on September 10. The August 5 call names its own falsifier: Jones holding the first-team reps once Carver Willis and Brett Toth are back. Neither man is back, and one of them was ruled out again today, so that falsifier has still not been tested. What has accumulated instead is three bad notices in four days, and they do not weigh the same: Foerster on August 5, the first-team reps going to Jones on August 6, and Adams today. The middle one is the one that counts, and it is ours.

Rookie tackle Enrique Cruz Jr. had the other rough session. Adams has Trent Williams pulling him aside for five to ten minutes afterward, and quotes Brad Graham saying he would be surprised if Cruz made the final roster. Cruz is graded 8 here and did not move today, because an analyst's roster prediction is not evidence about a player.

The defence intercepted Brock Purdy twice in the red zone, and the accounts of what happened next do not match. Adams, citing Matt Maiocco, has Deommodore Lenoir returning one 100 yards and Upton Stout taking a second 25 yards, both back for touchdowns. Cohn has the first as a forced throw to Demarcus Robinson in the end zone and the second as a route Stribling broke inside on while the ball went outside. The club's own recap goes narrower than either: it calls Lenoir's "what would be a pick-six," which is the correct tense for a practice nobody tackles in, and records Stout's as an interception in red zone work with no return attached. Two interceptions is agreed by three accounts. One touchdown return is Adams and Maiocco alone, the second is contested by the club, and this notebook is not going to average them.

Two men came back and one of them is disputed. De'Zhaun Stribling returned to team 11-on-11 work after hamstring tightness, catching two passes including a third-down conversion against Stout, though Cohn also has him held out of one-on-ones, so this is still not a full practice and his grade holds at 7. Dre Greenlaw was on the field, and OurSF49ers via Adams has him hitting Luke Farrell on a pass to the right sideline. Cohn has Greenlaw practising Saturday for the first time since Monday, having missed Wednesday and Thursday. Nick Wagoner's Thursday ESPN entry has him back that day on a limited basis, and Pro Football Talk carried the same. Two published versions, and the likeliest reconciliation is that a limited return and an absence are different claims, which is not the same thing as knowing.

The club's own standout was a cornerback. Its Day 9 recap leads on Nate Hobbs and credits him with four pass breakups or forced incompletions, a forced punch-out and a near-interception in red zone work, which it calls arguably his strongest practice of camp. None of the three beat accounts this notebook is built from led on him. That is not a contradiction, it is a difference between what a club publishes and what reporters watch for, and on a day the defence took the ball away twice it is worth recording which name the building picked.

Odds and ends. Jake Tonges scored again in the red zone, and Adams describes him as money around the goal line all camp, which is happening while George Kittle's status is unresolved. Adams puts no number on how many times, and neither does this. Romello Height jumped offside twice in one-on-ones before beating Colton McKivitz on the third rep, with a spin move per Cohn. Kurtis Rourke completed a 25-yard ball to Junior Bergen between two defenders. Patrick Taylor Jr. took the first running back rep with the starters and fumbled it. Fred Warner had multiple leaping pass breakups, per OurSF49ers.

Shanahan took a podium for the first time since the July 14 car accident, for just under twenty minutes per Matt Barrows. He said his headaches are feeling much better, that he has been heavily involved in meetings and film, and that he expects to be involved in preseason games. On the camp injury list generally: "It feels, I mean, pretty normal, give or take 3." On the one that is not a camp injury, Ricky Pearsall's season-ending surgery: "Losing Ricky was a real big deal. We've had a number of injuries in camp, but that's really the only one that's actually been not just a camp injury."

Nothing was signed. Neither the club's transaction log nor its newsroom carried anything dated August 8 when both were read at 3:47pm PT, and both were read again at 5:18pm with the same answer, ESPN's independent transaction table agreeing at the same hour that the newest entry is still Kion Smith on August 6. So this site's open call that San Francisco signs one of Doug Kramer, Joe Michalski or Lecitus Smith by August 12 stays open. One thing about that call is worth naming now rather than at scoring time: San Francisco did sign an offensive lineman named Smith during this stretch, Kion Smith, on August 6. Different player, and the workout the call turns on happened the day after.

The roster count is unchanged at 90 against a ceiling of 90, counted in a browser at 3:30pm PT. The 49ers are off Sunday, the coordinators speak, and Tennessee is here Thursday.


Sources. David Bonilla, 49ers Webzone, August 8, for the club's announcement of Toth's concussion and Gifford's hamstring, for Cam Inman's pre-practice absence list, for Bosa's third missed practice, and for the full Shanahan transcript. Marc Adams, 49ers Webzone, August 8, for the Day 9 quick hits: Colby's session and Thompson, Cruz and Trent Williams, the Brad Graham line, Tonges, Warner and Greenlaw via OurSF49ers, Height and McKivitz, Stribling's return, the two pick-sixes citing Matt Maiocco, the Barrows detail on the length of Shanahan's availability, and the Sunday schedule. Grant Cohn, Sports Illustrated, August 8, for the Stribling catches and his absence from one-on-ones, Greenlaw's Wednesday and Thursday, Rourke to Bergen, Taylor's fumble and Height's spin move. Cam Inman, Bay Area News Group, August 8, via Bonilla, for the absence list including Black and James. The Foerster line is from his August 5 availability transcript, 49ers Webzone site staff, published 2:17pm PT that day and re-dated at the primary before filing. Wagoner's Thursday entry is ESPN's continuously updated 49ers camp file, August 6. The roster page, all four tables, and the transaction log were counted and read in a browser on August 8 at 3:30pm and 3:47pm PT; the newsroom index and Niners Nation's camp page were checked individually at 3:15pm and 3:52pm PT. The club's own Day 9 recap, published to 49ers.com after this notebook was filed and read in full at 5:24pm PT, is the source for Toth, Gifford and Bosa appearing in its injury section, for the Nate Hobbs line, for the club's narrower description of both interceptions, and for the absence of any offensive line alignment. The transaction log and ESPN's independent 49ers transaction table were both re-read at 5:18pm PT and both still carry August 6 as the newest entry. The Thursday notebook cited on Colby is this site's own, published August 6. Both open Colby calls and the August 5 call's stated falsifier are quoted from this site's public ledger.

Filed under 49ers

More on Connor Colby

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

Connor Colby And Kaelon Black Fill The Two Jobs Shanahan Called Fluid

San Francisco's public depth chart carried an empty box at left guard from August 27 until this week. Read at 2:52 p.m. Pacific on Sunday, it is stamped 09/4/26 and lists Connor Colby first at left guard and Carver Willis second. It also lists Kaelon Black second at running back ahead of Jordan James, which is the other job Kyle Shanahan called fluid on August 31, and George Kittle and Nick Bosa as starters. Colby was the incumbent in July, was passed by Robert Jones and then by Willis in August, and is first again on the club's own page. Jarrett Patterson, traded for to compete at guard, is listed second at center. The chart predates three roster moves and has one empty box left, at long snapper. The first Melbourne practice is Sunday at 7:50 p.m. Pacific.

Sam KezarSep 6, 20264 min read
Connor Colby And Kaelon Black Fill The Two Jobs Shanahan Called Fluid
Camp Battles

The 49ers Have Two Depth Charts And Only One Of Them Has A Left Guard

The depth chart at 49ers.com carries twenty-nine position rows and a name in the first column of twenty-eight of them. Left guard is the twenty-ninth, its first column is empty, and the page stamps itself August 27, which was eight days ago. A separate one-page sheet dated September 2 lists Connor Colby first at left guard and Carver Willis second, and the club does not publish it: the media site its own pronunciation guide points to refuses a request from outside. Kyle Madson of Niners Wire reports that the sheet is assembled by the communications staff with no input from the coaches and binds nobody. Kyle Shanahan said on August 31 that he did not know who starts, and nothing since has replaced that. Seven of the seventy-two men still named on the club's live chart are on the September 2 sheet's injured reserve list, three of them offensive linemen.

Grant LombardSep 4, 20265 min read
The 49ers Have Two Depth Charts And Only One Of Them Has A Left Guard

More on Brock Purdy

His page →
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
Civic memory

The 49ers Announced Every Kyle Shanahan Contract Until This One

The 49ers have a standard sentence for a contract, and they have used it on Nick Bosa, Brandon Aiyuk and Brock Purdy, each time naming the number of years. They have used it on their head coach three times in nine years and never once named the years. This offseason they signed him again and used it not at all. What a club announces is the part of itself it writes on purpose, and this one writes the players.

August LindenSep 13, 20264 min read
The 49ers Announced Every Kyle Shanahan Contract Until This One
The rookie

The Right Denominator For De'Zhaun Stribling's First Game Is Twenty-Six, Not Sixty-Five

De'Zhaun Stribling, the wide receiver San Francisco took with the 33rd pick in April, was hurt in his first professional game and the 49ers have published nothing about him since. The official participation report has him at 21 offensive snaps of 65, which is 32 percent. Counted against the 26 plays from scrimmage San Francisco ran before the snap he was injured on, it is 21 of 26, or 81 percent. The count reconciles to 65 at the end of the game once the second-quarter roughing-the-passer penalty is included, which is the check on it. He was not targeted on any of the 21. Six 49ers receivers took an offensive snap in Melbourne: Mike Evans 49, Demarcus Robinson 41, Deebo Samuel 27, Stribling 21, Jacob Cowing 5 and KhaDarel Hodge 1. Tight end Luke Farrell played 46, more than every receiver but Evans, and fullback Kyle Juszczyk played 33, more than Samuel. Four of the five other receivers who played are 30 or older. Kyle Shanahan said after the game that the Achilles was checked and intact and that the club was not sure of the magnitude of the ankle injury; further testing waited on the flight home, which David Bonilla of 49ers Webzone clocked at 13 hours 46 minutes, landing at SFO at 3:06 p.m. Friday. San Francisco's next game is Miami at Levi's Stadium on Sunday, September 20, at 1:25 p.m. Pacific, and the 49ers traded down twice in April, first with Miami, to reach the pick they spent on Stribling. No take filed.

Grant LombardSep 13, 20264 min read
The Right Denominator For De'Zhaun Stribling's First Game Is Twenty-Six, Not Sixty-Five

On the record

Called Shots →
Held upJul 27, 2026

Connor Colby is the 49ers' starting left guard in the Week 1 game against the Los Angeles Rams on 2026-09-10. Scored off the official starting lineup for that game: Colby listed at left guard is a hit, any other player listed at left guard is a miss, including if Colby is unavailable through injury.

Made in the Camp Battles left guard primer. The basis is incumbency plus the calendar: Colby took all of the first-team left guard reps at the opening practice (Wagoner, ESPN, Jul 26), has roughly 450 snaps in this offense from six starts as a rookie, and Robert Jones has none while coming off a 2025 season lost to a neck injury. The call is genuinely at risk, and the falsifier is named in the piece: Jones opening the August 13 preseason game against Tennessee with the starters. Hurley's Niners Nation board already has Jones starting and Colby at backup right guard.

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 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
Game Week

San Francisco won by 20 without a sack. Miami gave up five.

San Francisco hosts Miami at 1:25 p.m. Pacific on FOX in its home opener. The 49ers beat the Rams 27-7 in Melbourne without a sack, taking eight quarterback hits instead, four of them by Osa Odighizuwa. Miami lost 27-13 at Las Vegas behind Malik Willis, who was sacked five times. Eddy Piñeiro is questionable with an illness that cost him all three practices, and the club auditioned two kickers Saturday and signed neither. Ten men to watch, and the reason the first one is the kicker.

Sam KezarSep 20, 20264 min read
San Francisco won by 20 without a sack. Miami gave up five.

Earlier on the 49ers

The record

Four Hundred And Forty Punt Returns Since Ted Ginn Jr. Scored The Last One

San Francisco has returned 440 punts for 3,826 yards since Ted Ginn Jr. ran one back 55 yards against Seattle on September 11, 2011, and none of the 440 has scored. Thirty-five of them gained twenty yards or more, two gained forty, and the longest is a 66-yard return in 2025. Jacob Cowing's 83-yard punt return touchdown at the Chargers on August 20 is longer than any of them and came in a preseason game, so it does not enter the record. He has not returned a punt since, missed the last full practice of camp with a groin injury and did not dress for the finale at Las Vegas. The roster is due at 3 p.m. Pacific on Sunday.

Sam KezarAug 29, 20264 min read
Four Hundred And Forty Punt Returns Since Ted Ginn Jr. Scored The Last One
Preseason Takeaways

Five Rookies Started And The Kicker Scored All Eighteen Points

The 49ers beat the Raiders 18-12 at Allegiant Stadium on Thursday night. Eddy Pineiro made all six of his field goals and scored every point San Francisco scored; neither team reached the end zone. The official game book lists five rookies in the starting lineup, three on offense: Carver Willis at left guard, Enrique Cruz Jr. at left tackle and Kaelon Black at running back. Cruz played all 61 offensive snaps and rookie safety Jalen Stroman played all 66 on defense. Jaden Dugger led the team with ten tackles, Jordan James played his first snaps of the preseason and drew a penalty that wiped out a touchdown, and Jordan Watkins ran, caught and returned. The roster is due at 53 on Sunday at 3:00 p.m. PT.

Sam KezarAug 28, 20265 min read
Five Rookies Started And The Kicker Scored All Eighteen Points
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