The 49ers Announced Every Kyle Shanahan Contract Until This One
Tom Pelissero reported Friday that Shanahan signed an extension with San Francisco during the offseason. The club published its own release when it hired him in February 2017, when it extended him in June 2020 and when it extended him in September 2023. This time it published nothing, and not one of those three releases ever said how long the job was his.

The San Francisco 49ers have a sentence.
It begins "The San Francisco 49ers today announced that the team has signed," and then a name goes into it, and then a number of years. On September 8, 2023 the name was Nick Bosa and the number was a five-year extension through the 2028 season. On August 30, 2024 it was Brandon Aiyuk, four years through 2028, and John Lynch called him a special talent and a warrior on the field. When the club signed Brock Purdy on May 20, 2025, the years went in the headline, five of them, and it scheduled a press conference in the auditorium at Levi's Stadium for half past one the next afternoon, and Lynch said in the release that the club was ecstatic to get the deal done.
No dollar figure appears in any of the three. Bosa's $170 million is not in his release. Purdy's $265 million is not in his. What every one of them names is a number of years.
The club has published a version of that sentence about its head coach three times in nine years. On February 6, 2017, it announced that it had agreed to terms with Kyle Shanahan to become the twentieth head coach in franchise history, and Jed York called it a very exciting day for the 49ers and their fans. On June 15, 2020, it announced that it had signed Shanahan to a multi-year contract extension. The third came on September 22, 2023, multi-year contract extensions for Shanahan and Lynch together.
Not one of the three says how long.
He signed again this year. Tom Pelissero of The Ringer reported it on Friday, and the 49ers have published nothing. The terms are not known. The number of years is not known. The date he signed is not known either, so the decision that settles who runs the football team has no position in the calendar of the year it happened in. How long he had been signed for is not agreed either. The accounts that circulated when the last extension was reported had him under contract through 2027; Jed York said this offseason that it ran through 2028. Neither number came from a club release, because there has never been one to take it from. He is now signed for longer than whichever it was, and that is the whole of it.
What a release is for#
Nearly every document a football club generates about itself is extracted from it by somebody else's rule. The cap figures exist because there is a cap. The injury designations exist because the league requires a report. The transaction wire runs because a roster has to be certified at ninety and at fifty-three and the certification is filed. None of that is the club talking. It is the club complying, and a reader learns from it the way a reader learns anything from a form.
The releases are the other thing. They are voluntary, they are published on a website the team owns, on a day the team picks, in sentences the team writes, and they are where the organization speaks as itself to whoever it believes is out there listening.
The 49ers write for customers. A customer wants to know the quarterback is signed for five more years, because that is roughly what the customer is buying, and the club tells him so in the headline. The question of who runs the football team into the 2030s, and until when, is a question an owner answers to himself.
The defense is real. A head coach is an employee of a private business, his deal sits under no cap, no union files it, and nothing obliges a team to publish its own org chart. Player contracts surface whether the club types them or not, so a player release is a club getting in front of a fact that was coming anyway.
Except the 49ers did type it. Three times, for this coach, the last of them at one o'clock on a Friday afternoon in a September when the team was 3-0. The practice existed. It was theirs. This year they did not follow it, and what they left out is the answer to a question about the next ten years of Sundays that the building had already settled.
The number that is coming anyway#
Shanahan has coached 150 regular-season games for San Francisco and his record in them is 83-67. That figure includes the 27-7 win over the Rams in Melbourne on September 10, which was game 150. Through the end of last season he stood at 82-67. Bill Walsh coached 152 regular-season games for the 49ers, more than anyone else who has held the job.
Miami comes to Levi's Stadium on September 20 and Arizona on September 27. If Shanahan works both, he draws level with Walsh. Denver comes on October 4, and he passes him.
The club will mark that. Marking things is something this organization is very good at, and it has spent this entire season wearing a patch that counts eighty years of itself on the upper chest of every jersey. The number will be exact, because those always are. Nobody outside the building will be able to say how many more games are coming.
Sources: 49ers.com releases dated February 6, 2017 (Shanahan named head coach), June 15, 2020 (multi-year extension), September 22, 2023 (Lynch and Shanahan extensions), September 8, 2023 (Bosa), August 30, 2024 (Aiyuk) and May 20, 2025 (Purdy); Tom Pelissero, The Ringer, September 11, 2026, first reporting the extension; NFL.com and ESPN, September 11, 2026, for the prior contract running through 2027, the absence of terms and the 83-67 record; the Associated Press, September 11, 2026, for Jed York quoted on the prior deal running through 2028 and for the source declining to give the length of the new one; Wikipedia's list of 49ers head coaches for Shanahan's 150 games and Walsh's 152; 49ers.com for the 2026 schedule.


