49ers Notebook

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

Kyle Shanahan held eight players out of Wednesday's practice, Mike Evans and KhaDarel Hodge among them. Keion White's hamstring thinned the defensive line again, and Mykel Williams practised for the first time in a year.

SK
Sam KezarSep 30, 20263 min read
Every call on this site goes on a public ledger and gets graded. The misses stay up.
Jacob Cowing, one of the three receivers healthy for Denver, carries the ball upfield in a red practice jersey on the third day of training camp in Santa Clara, July 2026.

San Francisco opened Denver week without two of its five receivers. Kyle Shanahan said before Wednesday's practice that Mike Evans (ribs) and KhaDarel Hodge (knee) would not work, per David Bonilla of 49ers Webzone and Josh Alper of Pro Football Talk. Hodge's knee is new: it is not in Monday's injury updates from Maiocco or from Nick Wagoner of ESPN. That leaves Deebo Samuel Sr., Jacob Cowing and Jordan Watkins as the healthy receivers on the 53, four days before kickoff.

The full list. Shanahan named eight before practice, per Bonilla: Evans, Hodge, Trent Williams (neck stinger), Dre Greenlaw (quad), Nick Bosa (calf), James Thompson Jr. (ankle), Keion White (hamstring) and Christian McCaffrey, on a rest day.

Evans, in Shanahan's words: "Not today, and hopefully, later in the week." On Monday he had called the rib injury something that "shouldn't be long term." Evans left Sunday's win over Arizona in the second quarter after 18 offensive snaps. What kind of rib injury it is has not been settled in public. Asked on Monday whether it was a fracture, Shanahan said, "Just rib." Ian Rapoport reported a strain. George Kittle, on KNBR, said "Fractured ribs suck."

Dante Pettis is back. The club signed him to its practice squad on Wednesday, on its own release and its transaction log under 09/30. San Francisco drafted him in the second round in 2018 and he played here through 2020. The release gives him 66 games, 19 starts and 92 catches for 1,231 yards and 13 touchdowns, with the Giants, Bears, Saints and, briefly this summer, Buffalo, which waived him on August 29. Shanahan, per Bonilla, on the timing: "Mike going down, losing some receivers the last few weeks, we needed to add a guy to the practice squad." On whether their split in 2020 was personal: "There was no relationship issue." Pettis joins Brandin Cooks, Wesley Grimes and Will Pauling as practice-squad receivers.

Mykel Williams practised. The club opened his return window from the physically unable to perform list, and Maiocco reports he was limited in his first practice since tearing his ACL last season. Shanahan beforehand: "Today will be his first day back in a year, so he probably won't go full speed today." He cannot play Sunday. Week 5 at Seattle on October 11 is the earliest.

Romello Height was also limited, per Maiocco, one week after surgery on his broken hand.

The defensive line is thinner than Monday's count. Ten defensive linemen are on the 53 on the club's roster page. Bosa and Thompson were already ruled out for Denver. White, who had a sack against Arizona, now sits with a hamstring. Shanahan on White: "Hope not, but it's a hamstring, and it's keeping him out today." That leaves six linemen with no listing and Height, limited. Matthew Judon and the two Week 3 elevations, Kevin Givens and Sebastian Valdez, are on the practice squad.

Williams and Greenlaw are Thursday questions. Shanahan said on Monday that Williams "should be good to go by Thursday," per Wagoner. Vederian Lowe played left tackle after Williams left Sunday. On Greenlaw, Shanahan on Wednesday: "I think the main thing is him just fully healing up to get out there."

Roster. The club's page lists 53 active, 16 on injured reserve, 2 on the physically unable to perform list and 18 on the practice squad, with Pettis added and nobody removed. The squad limit is 17 with Isaac Alarcón's international exemption. Bonilla reported on September 29 that defensive end Vincent Anthony Jr. had been released, which would bring it back to 17; the club still lists him.

Filed under 49ers

More on Mike Evans

His page →
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
Gracen Halton needs ankle surgery, and both outside corners are day-to-day
49ers Notebook

Gracen Halton needs ankle surgery, and both outside corners are day-to-day

Kyle Shanahan said Monday that Gracen Halton dislocated and fractured his ankle, will have surgery this week and will go on injured reserve. Renardo Green (back) and Deommodore Lenoir (foot) are day-to-day before Sunday's game at Dallas. C.J. West's practice window opens Wednesday, Deebo Samuel could practice Wednesday, and Mike Evans is not expected to.

Sam KezarNov 9, 20263 min read
Nick Bosa plays his first game since September, with Buckner beside him
49ers Gameday

Nick Bosa plays his first game since September, with Buckner beside him

The 49ers (6-1) play the Raiders (4-4) at Levi's Stadium at 1:25 p.m. Pacific on FOX. Nick Bosa is cleared after missing five games and lines up with DeForest Buckner for the first time since the 2019 season. Christian Kirk, Mike Evans and Deebo Samuel are out, and Demarcus Robinson is back off injured reserve. Ten to watch, led by the rookies and second-year players: Jaden Dugger, Gracen Halton, Mykel Williams, Upton Stout, Jordan Watkins, plus Bosa, Buckner, Robinson, George Kittle and Brock Purdy. Inactive lists post at 11:55 a.m. Pacific.

Sam KezarNov 8, 20264 min read

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

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
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
Demarcus Robinson takes Christian Kirk's spot on the 49ers' 53
49ers Notebook

Demarcus Robinson takes Christian Kirk's spot on the 49ers' 53

The 49ers placed Christian Kirk on injured reserve Saturday and activated Demarcus Robinson off it, so Robinson is in line to play Sunday against Las Vegas for the first time since Sept. 20. KhaDarel Hodge was elevated from the practice squad. Nate Hobbs, questionable on Friday, was not activated and stays on reserve.

Sam KezarNov 7, 20263 min read

Earlier on the 49ers

Mykel Williams is back, and Matthew Judon paid for it
49ers Notebook

Mykel Williams is back, and Matthew Judon paid for it

The 49ers activated Mykel Williams off the physically unable to perform list on Saturday and removed his questionable tag for Sunday at Seattle. Ogbo Okoronkwo, released Friday to open the roster spot, signed back to the practice squad and was elevated for the game along with tight end Jack Stoll. Matthew Judon was released from the practice squad to make room, per NBC Sports. Nick Bosa, James Thompson Jr., Kyle Juszczyk and Marques Sigle are out; Upton Stout is questionable.

Sam KezarOct 10, 20263 min read
Nobody San Francisco Added Thursday Plays Defensive Tackle
Game Week

Nobody San Francisco Added Thursday Plays Defensive Tackle

San Francisco placed DL Alfred Collins on injured reserve and activated WR KhaDarel Hodge and DL Ogbo Okoronkwo from its practice squad as standard elevations, all three moves in one release published at 1:53 p.m. Pacific on Thursday, three hours and forty-two minutes before the season opener against the Los Angeles Rams at the Melbourne Cricket Ground. Hodge and Okoronkwo revert to the practice squad after the game, and a standard elevation is capped at three per player per season. Neither plays defensive tackle. The club's depth chart, stamped September 8 and labelled unofficial, lists four men at the two tackle spots: Osa Odighizuwa at 280 pounds and C.J. West at 316 on the left, Collins and then rookies Gracen Halton at 293 and James Thompson Jr. at 308 on the right. Thompson was Questionable with a hamstring, the only game designation San Francisco issued for the opener. The inactive lists resolved it: six San Francisco names, none of them a defensive lineman, and Thompson dresses. That leaves right defensive tackle to two rookies. The report the club distributed at 12:23 a.m. Pacific has Halton at full participation for the last Melbourne practice; the table on the club's own injury-report page, read at 2:51 p.m., still showed him limited and left his injury column blank. The practice squad holds three defensive linemen heavier than Okoronkwo's 253 pounds, including Kevin Givens, the man the club waived on August 5 to sign Hodge and Okoronkwo. Counted in a browser at 2:53 p.m. Pacific, the roster page carried 54 on Active, 12 on injured reserve, two on Reserve/Physically Unable to Perform and 15 on the practice squad, which puts 52 players on a roster that may hold 53. The Active table held eight defensive linemen. The transaction log still ended on September 5. One take filed.

Sam KezarSep 10, 20264 min read
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