Giants
Roster math

The Giants Have One 40-Man Spot Left. December 1 Is What Makes It Expensive.

San Francisco opened three 40-man spots at the trade deadline and closed two of them in four days. The labor agreement covering major league players expires December 1. The separate agreement covering minor league players bars a lockout until after the 2027 season, which is why a spot that used to be free now has a number attached to it.

JS
Jamie SilvaAug 13, 20266 min read

A 40-man roster spot in August is normally the cheapest thing a last-place club owns.

San Francisco is 50-71, last in the National League West, 23 games behind a Los Angeles club sitting at 73-48, with 41 to play. In a normal year that is the profile of an organization that spends spots freely for six weeks: select a contract, look at a Triple-A hitter against major league pitching, and carry the roster crunch into the winter. The spot costs a transaction and some paperwork.

This year it costs a season of somebody's development, and the reason is a date.

The count, this morning#

Counted entry by entry off the league's own 40-man feed on Thursday: 45 names, six on the 60-day injured list, 39 counting against the limit of 40. One spot open.

The six on the 60-day are Hayden Birdsong, José Buttó, Randy Rodríguez, Rowan Wick, Joel Peguero and Matt Gage, and they are the reason 45 names fit inside 40. Everybody else counts: 26 on the active roster, six on the 10-day injured list, one on the 15-day, six optioned to Sacramento. A player on the injured list still occupies his spot unless the club moves him to the 60-day, which requires him to be out that long and is not a free lever.

One open spot is where the club was on July 31 as well. The interesting part is what happened in between.

The deadline opened two 40-man spots and four days closed them

Open spots on San Francisco's 40-man roster, counted as 40 minus the names counting against it, with players on the 60-day injured list excluded because they do not count. The July 31 and August 7 figures are contemporaneous records from this desk's roster file, taken from the league feed on those dates. The August 13 figure was re-counted Thursday morning.

Jul 3139 of 40 filled
1 open
Aug 737 of 40 filled
3 open
Aug 1339 of 40 filled
1 open

Look at the middle bar and then at the right one. The deadline produced the middle bar and it decomposes cleanly: six men on the 40-man left in trades (Mahle, Ramos, Ray, Arraez, Kilian, Miller), two who came back went onto it (Molina and Mayer), Gage moved to the 60-day and stopped counting, and three arrived by other routes (Kennedy off waivers, Furman and Leonard by selection). Thirty-nine, less six, plus two, less one, plus three, is thirty-seven.

That was the most room this roster has had all season. It lasted four days.

What closed it#

DateMoveEffect on the 40
Aug 7Trent Harris' contract selected+1
Aug 10Zach Morgan's contract selected+1
Aug 11Andrew Knizner signed+1
Aug 11Eddys Leonard designated for assignment−1

Three additions and one subtraction, net two, and the August 7 count was taken before the Harris selection posted. That is how three becomes one.

None of it is a prospect decision. Morgan came up the day Daniel Susac fractured his left patella. Knizner was signed off the street the following day and Leonard was designated to make room for him, a spot spent on August 4 and recovered on August 11. Harris arrived with Tristan Beck optioned the same afternoon. These are the moves a club makes when the catchers keep getting hurt, and they draw on the same account a September call-up would.

And then the six come back#

The 60-day injured list is a regular-season instrument. MLB Trade Rumors' Darragh McDonald stated the mechanic plainly in February: "The 60-day injured list goes away five days after the World Series but comes back when pitchers and catchers report to spring training."

So Birdsong, Buttó, Rodríguez, Wick, Peguero and Gage all stop being invisible on the same afternoon. Every one of them San Francisco still controls in November goes back onto the 40-man, and a count that reads 39 today reads as high as 45 against a limit of 40 in the week after the season ends. That is five men over before the club has protected a single prospect and weeks before the labor agreement expires.

The 45 names I counted this morning are not an artifact of the feed. They are November's roster.

This does not change today's count. It changes what today's count is standing next to. Every contract selected between now and the end of September is one more name in a November that already needs clearing, and the club reaches that problem before it reaches the December date this piece is about.

Two agreements, expiring at different times#

The mechanic takes two contracts to explain rather than one.

The collective bargaining agreement covering major league players expires on December 1, 2026. The two sides are negotiating now and are apart on the central issue, a salary cap, per Alden Gonzalez's June 1 reporting at ESPN. A lockout on expiration is a forecast rather than a fact, and the people forecasting it include the union's own leadership: Tony Clark, its executive director, told players at the Giants' camp in Scottsdale in the spring of 2025 that the league "has come out and said there's going to be a work stoppage."

Minor league players are covered by a different agreement, their first, reached in March 2023. Jeff Passan reported its terms at the time: it carries "a no-strike, no-lockout provision under the terms of the deal, which will run until after the 2027 season."

So the two documents lapse more than a year apart, and which one covers a given player is decided by whether his name is on a 40-man roster.

The 2022 season is the evidence for where that line falls, because the same thing happened then. MLB's own minor league site wrote the day after that lockout began that the 2022 minor league season would be unaffected, and so would any player not on a 40-man roster or signed to a major league contract. That held; the season started on time. Players on 40-man rosters were the exception. In March 2022, with the lockout still running, R.J. Anderson wrote at CBS Sports that those players "have not been allowed to report to camp, and will not be allowed to play in minor-league regular season games until a new CBA is agreed upon and ratified by both the owners and the union."

The 2027 case is not identical, and the difference favors the argument rather than undercutting it. In 2022 minor leaguers had no union at all, which is why nobody could lock them out. Now they have one, with an agreement that runs past the stoppage and forbids locking them out by name.

Which players this actually reaches#

Not all of them, and the exception is the useful part.

MLB's glossary states the eligibility rule plainly: players who signed at 19 or older "need to be protected within four seasons," and the Rule 5 Draft is "held each December." Set that against a December 1 expiration and the sequence gets awkward. The draft that punishes a club for leaving a player unprotected falls on the far side of the date the agreement runs out.

Matt Wilkinson is the player the lockout logic does not reach. The left-hander San Francisco got from Cleveland for Patrick Bailey on May 9 signed in 2023 at age 20, which makes this his fourth professional season and this winter his Rule 5 winter. He has thrown 85 innings across four stops this year, 19 starts between Akron, Richmond, Sacramento and one outing in the Arizona Complex League, and struck out 95 men in them. That is 10.1 strikeouts per nine against a Pacific Coast League average of 8.9 and an Eastern League average of 9.6: better than average, not dramatically. His Triple-A ERA is 5.12 across 38.2 innings, which is the number that complicates him. The club adds him or exposes him regardless of what happens in December, so a lockout changes nothing about his case.

Parks Harber is the player it does reach. Drafted in 2024 at 22, he is not Rule 5 eligible until after the 2027 season, so nothing obliges the club to protect him this winter or next. He is hitting .284/.369/.510 in 298 plate appearances at Double-A Richmond and .326/.400/.537 in 110 at Sacramento, against league lines of .247/.340/.413 and .260/.353/.427. Both are well clear of their environments, in 408 combined plate appearances, and he is the sort of hitter a 50-71 team looks at in September. Adding him costs the last open spot. It would also mean that in a stoppage running into next season, Harber does not play while the players he is currently out-hitting do.

That is the whole ballgame: the same transaction that used to be a free look is now a bet on the labor calendar.

What this does not show#

It does not show that San Francisco is thinking about any of this.

A club sitting on one open spot with 41 games left has entirely ordinary reasons to be careful with it, and from outside those reasons look identical to the ones described above. Nobody working from a transaction feed can separate a front office hoarding a spot against a lockout from a front office that simply has one spot and a catching room that keeps sending people to the injured list. What the count establishes is the constraint. What it cannot establish is the intent.

One more caveat belongs here. Among the union's roster proposals reported on July 1 is one that would move the Rule 5 Draft to late November in a final CBA year, November 24 this time, which would put the whole sequence in front of the expiration. That is a proposal in an active negotiation and nothing more. If it is agreed to, the calendar problem above partly dissolves.

The call, with a date on it#

San Francisco does not select Parks Harber's contract at any point in the 2026 regular season, which ends September 27. And the club makes two or fewer contract selections of any kind between August 14 and that date.

Both are checkable off the league's transaction log by anybody who wants to check them. The second one is the one I am less sure of, because it is one hamstring away from being wrong.

Method

The 40-man count is mine, taken entry by entry off the MLB Stats API 40-man feed for teamId 137 on the morning of August 13, and it agrees with the transaction log for the same club across August 1 to 13. The July 31 and August 7 counts are contemporaneous records from this desk's roster file, made on those days from the same feed; they are not re-derivable now and are cited as what they are. Wilkinson's and Harber's lines were summed from their individual game and season logs by level rather than taken from a combined-stat row, because the feed publishes multi-team aggregates that double-count if you add them to their parts. League averages are the full 2026 season to date for all 30 clubs in each league, computed from team totals. Known weakness: minor league park and league effects are large and I have not adjusted for them beyond citing the league line, so treat the gaps between a player and his league as directional.

Sources: MLB Stats API (40-man roster, transactions, standings, player and league statistics, teamId 137, retrieved August 13, 2026); MLB.com glossary, Rule 5 Draft; MiLB.com, December 2, 2021; CBS Sports (R.J. Anderson), March 6, 2022; The Philadelphia Inquirer (Scott Lauber), February 4, 2022; ESPN (Jeff Passan), March 29, 2023; Yahoo Sports (Ian Casselberry) on Tony Clark's remarks, March 1, 2025; MLB Trade Rumors (Darragh McDonald), February 2, 2026, on the 60-day injured list in the offseason; MLB Trade Rumors, July 1, 2026, on the union's roster-rule proposals.

Filed under Giants

More Giants

All →
Andrew Knizner Has Changed Organizations Four Times Since December And Is Now The Giants' Most Experienced Catcher
Feature

Andrew Knizner Has Changed Organizations Four Times Since December And Is Now The Giants' Most Experienced Catcher

Andrew Knizner is 31, was drafted in the seventh round in 2016, and has spent a decade being employed for the half of catching that never reaches a batting line. Seattle released him in March. Colorado released him in June. His Boston contract ended on August 7. Four days later the Giants signed him, and the last major league inning he caught was in their building, on September 27, a year to the day before their season ends.

Aug 12, 20267 min read
Zach Morgan Reached The Major Leagues On Monday Without Reaching The Batter's Box
One night up

Zach Morgan Reached The Major Leagues On Monday Without Reaching The Batter's Box

Zach Morgan was a major league catcher for one game and did not catch it. The Giants called him up August 10 after Susac fractured his patella, sat him behind Drew Cavanaugh, signed 31-year-old Andrew Knizner off the free agent market the next day, and sent Morgan back to Triple-A. The league's own player record lists no debut date for him. There is a word for what he nearly became, and more than 400 men in baseball history have earned it.

Aug 12, 20264 min read
Ninety Days On The Roster Was The Price Of Daniel Susac, And The Giants Cleared It Friday
Ninety days

Ninety Days On The Roster Was The Price Of Daniel Susac, And The Giants Cleared It Friday

Susac went on the injured list Monday with a fractured left patella, the third time this season the Giants have put him there. The first two trips were the expensive ones. A Rule 5 pick has to be active for ninety days or the restrictions follow him into next year, and San Francisco got him to ninety on August 7, forty-eight hours before the injury that probably ends his rookie season.

Aug 11, 20265 min read