San Francisco 49ers quarterback Jimmy Garoppolo. Jeffrey Becker-USA TODAY Sports

The San Francisco 49ers and Jimmy “Ghost” Garoppolo have resolved the quarterback’s contract situation.

Garoppolo and the 49ers agreed to a restructured deal that will keep the quarterback in San Francisco for the season. But his deal contains a few interesting clauses.

According to ESPN’s Adam Schefter, Garoppolo’s contract calls for the QB to make $6.5M in base salary this season. That amount is fully guaranteed.

Garoppolo can earn $500K in roster bonuses. He can also earn as much as $9M more based on playing time bonuses.

So if Garoppolo ends up starting several games, it sounds like he could end up making as much as $16M for the season.

But there are two interesting clauses in his contract, according to Schefter. Schefter says Garoppolo has a no-trade clause and a no-tag clause. That means the Niners can’t trade Garoppolo this season, and they can’t use a franchise tag on him next season. The implication is that Garoppolo will play for the Niners this season and become a free agent after the season.

This is not the outcome many people would have expected earlier this offseason.

Rumors throughout the offseason suggested the 49ers would trade Garoppolo while promoting Trey Lance to starter. The problem is no trade market developed for Garoppolo at his $24M salary. Rather than get cut, Garoppolo decided to stay in San Francisco, where he must feel he has a good chance of receiving playing time.

The deal seems to signal that the 49ers have some concerns about Lance and want a trustworthy backup for him this season. If they didn’t have those concerns, they probably would have cut Garoppolo outright, which would have left them with only a $2M dead cap hit.

More must-reads:

TODAY'S BEST
Timberwolves chew up Nuggets to force Game 7
Rangers secure spot in conference finals after stunning third-period comeback over Hurricanes
Xander Schauffele makes history in first round of PGA Championship
Yankees' Hal Steinbrenner shares massive Juan Soto contract update
Steelers' Cameron Heyward addresses contract holdout
Knicks star ruled out for potential closeout game
Dodgers starter undergoes season-ending UCL surgery
Clemson’s Dabo Swinney gives smug response about not using transfer portal
Caitlin Clark's debut was most-watched WNBA game in more than 20 years
Watch: Chris Kreider's natural third-period hat trick shatters Hurricanes' comeback hopes
Veteran NFL safety will either play for this team or retire in 2024
Former Red Wings head coach linked to open NHL job
How Patriots' Drake Maye has already impressed Jacoby Brissett
LeBron James, Giannis Antetokounmpo, Stephen Curry among Forbes' highest-paid athletes for 2024
Steve Cohen addresses if Mets could again be trade-deadline sellers
Tiger Woods ruins strong first round with sloppy finish at PGA Championship
NFL responds to speculation about Chiefs schedule and Taylor Swift
Despite hopes for change, NASCAR championship weekend will return to Phoenix in 2025
Chiefs will achieve something not done since 1927 with 2024 schedule
Yankees' Aaron Judge comments on resurgence after bad slump