SANTA CLARA, Calif. – On Tuesday, while his head coach was watching practice from a folding chair rather than running it, Brandon Aiyuk opened Instagram.
The post that followed was not subtle. According to Bleacher Report, Aiyuk wrote on Instagram Stories that he had been on a voided contract “longer than he was on his original deal,” then named a figure: $50 million paid over eight months, followed by the 49ers voiding his guaranteed money for 2027. “They mad ‘cause they stupid,” he wrote, using his own accounting of the situation, which the organization has not publicly contested. He named Washington as the destination when this is resolved. ESPN’s Adam Schefter reported that people inside the league have started to wonder whether Aiyuk wants to play at all.
The 49ers had other problems. A lot of them.
Day 3 of training camp on Wednesday opened with Ricky Pearsall standing on the sideline for the second consecutive day, the swelling in his knee persistent enough that team sources have begun exploring surgical options. Jordan James, competing for the No. 2 running back role behind Christian McCaffrey, missed the session with a fractured rib he sustained Tuesday. Malik Mustapha, the starting free safety, was held out with a hamstring strain. Kyle Shanahan, whose presence normally defines the operation’s mood and precision, watched from a distance while assistant head coach Chris Foerster ran the field.
Brock Purdy delivered one of the session’s better plays, finding Demarcus Robinson deep over two defenders on a throw that looked like the 49ers’ offense working the way it is supposed to work. He talked about Shanahan in the measured terms a player uses when protecting his coach from the story forming around him, telling reporters Shanahan is “our guy” and “our head coach and we all want him here,” then went back to taking reps.
Shanahan’s July 14 accident was his own fault, and he has said so. He reached for his phone when it slid between the car’s seats, crossed double yellow lines into oncoming traffic, and struck an SUV in Palo Alto. The California Highway Patrol initially attributed the crash to the other driver, a clerical error the Palo Alto Police Department later corrected. The injuries, as Bleacher Report reported, included a broken nose, three broken ribs, a broken hand, over 40 stitches to his face, and a severe concussion. He is participating in team meetings remotely and observing practice from a distance. Whether he is at full operational capacity for Week 1 of the regular season is not a question anyone in San Francisco has answered publicly.

Pearsall’s situation may be harder to schedule around. The second-year receiver suffered a PCL injury that left his knee persistently swollen, and the club is exploring all available treatment options, surgical intervention among them. The team has not offered a public timeline for his return. He was supposed to be the receiver who took enough of the passing-game burden off the depth chart to make the Aiyuk contract dispute a negotiation rather than a standoff. Without him available, the calculation collapses back to De’Zhaun Stribling, Demarcus Robinson, Jordan Watkins, and a collection of developmental receivers working their way up a depth chart that moved faster than anyone anticipated.
McCaffrey is still available, still the offensive anchor. He said he could not say “enough good things” about Kaelon Black, the rookie filling first-team running back reps in James’s absence, a compliment that carried more weight than training camp praise usually does when the player being praised is there because the starter is sitting out with a broken rib. George Kittle is on the Physically Unable to Perform list with an Achilles injury, which prompted the club to sign tight end Josiah Deguara this week as depth insurance. Nick Bosa practiced. Mac Jones had a productive morning stacking completions. The structure is still standing.
The 49ers have built their offense around Purdy’s accuracy and Shanahan’s scheme specifically because the system carries different personnel reasonably well. The route concepts that generated points with Brandon Aiyuk and George Kittle also work with Demarcus Robinson and Jordan Watkins, to a degree. That is the argument San Francisco’s front office has made to itself, and it is not entirely wrong. The problem is that arguing a system’s flexibility is different from running the system without its best player, and Aiyuk is, at least technically, still the best player on the team.
Elsewhere in the NFL, other camps have absorbed disruptions at the top of the depth chart. In Arizona, the Cardinals are running their opening weeks without James Conner, relying on Jeremiyah Love ahead of schedule at running back. In Jacksonville, Travis Hunter navigated his return from October surgery with a full camp watching to see if the fear came back with him. Those camps have complications. San Francisco’s looks different because the complications have accumulated simultaneously at the top of the depth chart, with an organizational undercurrent the other camps have not had to manage.
What happens next depends on decisions that nobody has made official. Pearsall’s surgical choice determines his timeline, and the team has not confirmed surgery. Aiyuk’s situation depends on a negotiation that, based on Tuesday’s Instagram post, has broken down past the point of quiet resolution. The 49ers have not responded publicly to his post. Shanahan’s Week 1 readiness depends on a recovery his medical staff is managing and that the head coach himself has not put on a public schedule.
Purdy found Robinson deep on Wednesday morning. The ball was accurate, the receiver stayed in bounds, and the sideline reacted the way it does when the quarterback makes a throw look easy.
It may have been the least complicated thing that happened at 49ers camp all week.

