The San Francisco 49ers closed out their final week of training camp with three practices before hosting the Los Angeles Chargers on Saturday night at Levi's® Stadium. Here are the key storylines from practices No. 17 and 18:
Roster Moves
The biggest news of the week came off the field. The 49ers acquired WR Skyy Moore and a 2027 seventh-round pick from the Kansas City Chiefs in exchange for a 2027 sixth-rounder. Moore, who will wear No. 6, participated in limited team reps during Thursday's session, per reports.
Moore was a second-round pick by the Chiefs in 2022. In three seasons, he's played 36 games with 43 catches for 494 yards and one touchdown, plus 47 rushing yards. He's also appeared in three postseason games, where he added another career touchdown.
In addition, the team signed QB Tanner Mordecai to a one-year deal and released QB Nate Sudfeld. CB Tre Brown was placed on Injured Reserve. Earlier in the week, San Francisco signed WR Malik Knowles and OL Michael Dunn, placed RB Patrick Taylor Jr. on the Injured Reserve list, waived RB Corey Kiner (injury designation) and released DL Demone Harris.
Injury and Participation Updates
The list of non-participants throughout the last two days of training camp practices included: QB Mac Jones, WR Jauan Jennings, WR Jordan Watkins, RB Jordan James, OL Dominick Puni, OL Ben Bartch, CB Upton Stout, CB Fabian Moreau, S Richie Grant, LB Stone Blanton, DL C.J. West, and DL Kevin Givens.
WR Jacob Cowing and WR Malik Turner were new absences on Wednesday. Per reports, Turner returned for Thursday's practice, while Cowing remained out. Defensive lineman Robert Beal Jr. also made his return on Thursday after missing extended time.
DL Nick Bosa continued to work only in individual drills, while RB Christian McCaffrey and T Trent Williams saw their most active sessions of camp in the final two days.
Offensive Highlights
Quarterback Brock Purdy delivered some of his best throws of camp on Wednesday, including red zone touchdowns to WR Ricky Pearsall and WR Terique Owens, plus a long strike to TE George Kittle. He also connected with WR Robbie Chosen over the middle for a big gain.
McCaffrey had one of his strongest practices yet on Day 17, scoring in the red zone and breaking free for a would-be long touchdown run in team drills.
Defensive Highlights
The defense made its share of plays, too. On Wednesday, linebackers Dee Winters and Jalen Graham each came away with interceptions, while the All-Pro Fred Warner nearly added another. CB Deommodore Lenoir, S Jaylen Mahoney, and S Marques Sigle all registered pass breakups during the Day 17 session.
What's Next
The 49ers now turn their attention to Saturday night's preseason finale at Levi's® Stadium against the Chargers. It will be the final chance for players to solidify roster spots before next week's cutdown deadline.
Check out some of the best images from practice ahead of the team's Week 3 preseason matchup against the Los Angeles Chargers.

OL Austen Pleasants, DL Jaylon Allen

TE George Kittle, FB Kyle Juszczyk

LB Curtis Robinson, DL Nick Bosa

WR Demarcus Robinson

Head coach Kyle Shanahan

OL Drew Moss

RB Christian McCaffrey, LB Fred Warner

TE George Kittle

WR Malik Turner

LB Fred Warner

RB Christian McCaffrey

S Jason Pinnock

OL Connor Colby

QB Brock Purdy

CB Chase Lucas

WR Robbie Chosen

DL Sam Okuayinonu

DL Shakel Brown

LB Fred Warner

LB Trevis Gipson

DL Jaylon Allen

CB Darrell Luter Jr.

TE George Kittle

WR Terique Owens

QB Brock Purdy

LB Trevis Gipson

San Francisco 49ers

DL Sebastian Valdez, OL Drew Moss

TE Brayden Willis

S Ji'Ayir Brown, WR Malik Turner, DB Deommodore Lenoir

WR Isaiah Hodgins

OL Colton McKivitz

RB Ke'Shawn Vaughn

QB Brock Purdy

OL Drake Nugent

DL Sebastian Valdez