Giants
The rotation

The Giants Spent A 40-Man Spot On Ten Innings

Trent Harris has pitched 123 professional games and started three of them, all three since July 21. San Francisco selected his contract Friday, which leaves two open spots on a 40-man roster that stops being a free option on December 1.

AT
Andie TownsendAug 8, 20265 min read
Every call on this site goes on a public ledger and gets graded. The misses stay up.
Landen Roupp mid-delivery in the Giants' cream home uniform, his name and number 65 legible across the back of the jersey.

The Giants had three open spots on their 40-man roster on Friday morning. By Friday evening they had two, and the man who cost them one is a 27-year-old relief pitcher who has started three games in his professional life.

San Francisco selected Trent Harris's contract from Sacramento and optioned Tristan Beck to make room, which puts a pitcher who signed as an undrafted free agent in 2023 on a major league roster for the first time. He has not thrown a major league pitch yet. Neither of the next two starts is his, either, because Landen Roupp goes this afternoon against Jackson Jobe and Logan Webb goes on Sunday.

Those three starts are the reason he is here, and each one is small enough that the denominator has to travel with it. On July 21 against Oklahoma City he went three innings on 37 pitches, struck out four and walked nobody. On July 25, against Oklahoma City again, he went four innings on 51 pitches, struck out eight, walked one and allowed no hits. On July 31 against Tacoma he went three innings on 50 pitches, struck out five, walked nobody and gave up three hits. Across the three he threw ten innings, faced 37 batters, allowed no earned runs and struck out 17 against a single walk.

Thirty-seven batters is four trips through a lineup and one man over, which is roughly what a healthy starter faces in a good Tuesday. A club can reasonably move on evidence that small, and San Francisco has. The conclusion simply cannot be larger than the ten innings underneath it.

Twenty-six relief appearances say something else#

The rest of Harris's season is the same pitcher doing a different job, and there is three times as much of it. In 26 relief outings at Sacramento this year he threw 30.1 innings, allowed 14 earned runs for a 4.15 ERA, and walked 17 of the 140 batters he faced, which is a 12.1 percent walk rate. In the three starts he walked one of 37, or 2.7 percent.

Those two rates belong to the same man in the same season, four months apart, and ten innings is not enough to tell you which of them San Francisco has acquired. A club deciding otherwise is making a scouting judgment about a delivery and a pitch mix rather than a statistical one. Those are different kinds of claim, and only the first one is available on this evidence.

The largest sample available is his career, and it is the most flattering of the three. Across four seasons in the minor leagues Harris has thrown 198.1 innings with a 2.68 ERA, striking out 255 and walking 65 of the 802 batters he has faced, which comes to 31.8 percent and 8.1 percent. He pitched in the Futures Game in 2025 and was the Pacific Coast League's pitcher of the week for the week of July 26 this season.

He was also, at that same Sacramento club last season, a reliever with a 5.44 ERA over 41.1 innings. Nothing about the four years is a straight line, and the front office is not behaving as though it were. Darragh McDonald of MLB Trade Rumors reported Friday that Harris has a full slate of options remaining, which means San Francisco can move him between California and the Pacific Coast League as often as it finds useful.

Two rotation spots, and no name on Monday#

Harris was selected into a rotation rather than a bullpen, and the deadline is what made the difference.

San Francisco traded Tyler Mahle on August 2 and Robbie Ray on August 3, which left Webb, Roupp and Carson Whisenhunt holding three of five rotation spots and a genuine argument behind them. Blade Tidwell was recalled and started on Tuesday. On Friday the club opened a bullpen game with JT Brubaker against Detroit and won it 5-2, which was a better evening than the plan behind it deserved.

For the three games against Houston that begin on Monday, San Francisco has named no starter at all.

That is the vacancy Harris was stretched out to fill. A reliever with 120 relief appearances behind him does not draw three consecutive starts at Triple-A in late July for no reason, and the seven days of rest between his last outing and his selection point the same direction.

A roster spot costs more this winter than last#

Selecting a contract puts a player on the 40-man roster, and that is the part of Friday with a price on it.

Counted at the club's own 40-man page on Saturday morning, San Francisco carries 44 entries, six of them on the 60-day injured list where they do not count against the limit. That leaves 38 against 40 and two spots open. Before Friday there were three.

In an ordinary August a last-place club treats those spots as close to free. It calls up everyone it is curious about, looks at all of them, and sorts the roster out in November. That is the sensible logic of a 49-67 season, and San Francisco is 49-67, 20 games back and fourth in the National League West with 46 games to play.

This particular August is not ordinary, because the collective bargaining agreement expires on December 1. John Shea, reporting from Scottsdale in February for The San Francisco Standard, wrote that the expectation across the sport is a lockout when it does, with a salary cap as the central fight.

The mechanism that carries a lockout down into the farm system is one the league has already put in writing. When the owners locked the players out in December 2021, MLB's own minor league arm published the rule in a single sentence: players not on the 40-man roster, or signed to a major league contract, would be unaffected, and minor league camps would continue uninterrupted. Everybody on the 40-man was locked out, including men who had never appeared in a major league game. The teammates who were not on it went on working.

A 40-man spot bought in August 2026 therefore purchases a September look and sells a February one. That can be a perfectly good trade, and for Harris at 27 it probably is. It is nonetheless a trade rather than the free option a roster spot has been in every previous month of this rebuild, and San Francisco has two of them left to spend.

The seven weeks ahead#

The question over the balance of this season is not whether Harris turns out to be good, because ten innings cannot establish that and another twenty would not settle it either. The question is how many more times San Francisco is willing to convert farm depth into roster spots between now and September 27, and the answer will describe what this front office privately expects December to look like.

A club that believes a long lockout is coming protects the room it has left and lets Sacramento hold the arms Sacramento can legally keep working. A club that either doubts it or decides that seven weeks of information is worth more than one winter of development spends both spots and learns something about its 2027 rotation instead.

Harris cost the first of the three spots San Francisco woke up with on Friday, and he is on the roster this morning without having pitched. The two still open are the ones to count.

Sources#

Transactions, active roster and 40-man roster: MLB's official club pages for the Giants, opened and counted row by row on the morning of August 8, 2026. Harris's game logs, career minor league totals and the relief-versus-start splits: MLB Stats API game logs for player 805345 across every level and season, retrieved and aggregated August 8, 2026; those career figures independently reproduce the totals MLB Trade Rumors published on August 7. Standings, the 5-2 result against Detroit and the probable pitchers for August 8 through August 12: MLB Stats API schedule and standings feeds, retrieved August 8, 2026. The September 27 season end date confirmed against the same schedule feed. Harris's undrafted signing, his option status and the club's decision to stretch him out: Darragh McDonald, MLB Trade Rumors, August 7. Futures Game selection and Pacific Coast League pitcher of the week: the club's own player page. The December 1 expiry of the collective bargaining agreement and the expectation of a lockout: John Shea, The San Francisco Standard, February 26, 2026. The status of players not on the 40-man during a work stoppage: MiLB.com's own statement, December 2, 2021.

Filed under Giants

More on Robbie Ray

His page →
Trade Regrade

The Giants made five trades in two days. Graded on August 3, one of them is a C+

A process grade asks whether a club made the right trade at the right price at the right time on what it knew that day, and the answer does not change when the players do. The five Giants deadline trades, graded as of August 3, 2026: Tyler Mahle to Atlanta for Anthony Molina, C+; Luis Arraez and Caleb Kilian to Philadelphia for Ramon Marquez and Marty Gair, A-; Robbie Ray to San Diego for Miguel Mendez and Joniel Hernandez, B+; Heliot Ramos to New York for Henry Lalane and Kaeden Kent, B; Erik Miller and Carlos Gutierrez to Boston for Marcelo Mayer, A-. Every source is dated August 2 to August 4. The result gets its own grade when the season ends on September 27.

Andie TownsendSep 22, 202611 min read
The Giants made five trades in two days. Graded on August 3, one of them is a C+
Six and six

Seven of the thirteen men who started for the Giants cannot pitch this week

Thirteen pitchers started a game for San Francisco in 2026. Seven of them are unavailable for the final homestand: Tyler Mahle was traded to Atlanta on August 2 and Robbie Ray to San Diego on August 3, while Trevor McDonald, JT Brubaker, Carson Whisenhunt, Adrian Houser and Logan Webb are all on the injured list. Those seven made 105 of the club's 156 starts, or 67.3 percent. Measured the same way on the same morning, with all thirty clubs carrying 28-man active rosters, that is the highest figure in the major leagues; the league median is 27.2 percent and Toronto is second at 50.0. The six starters still standing are Landen Roupp (29 starts), Blade Tidwell (8), Matt Wilkinson (5), Anthony Molina (4), Cesar Perdomo (3) and Yunior Marte (2), for six games in seven days. Wilkinson threw five scoreless innings at Dodger Stadium on Sunday with a career-high six strikeouts in a 3-1 loss. Tidwell starts against Minnesota tonight. One take filed.

Grant LombardSep 21, 20265 min read
Seven of the thirteen men who started for the Giants cannot pitch this week
The long man

Adrian Houser's Forearm Took A Job With It, And San Francisco Has Been Filling It With Starting Pitchers

San Diego beat San Francisco 7-5 at Oracle Park on Friday night. Anthony Molina gave up nine hits and seven earned runs in three innings; Yunior Marte, who made his major league debut as a starting pitcher two weeks ago and whose last relief appearance before this month came at High-A Eugene in April, threw the next five innings and allowed nothing. It was the tenth time in 148 games a Giants reliever has thrown more innings than that day's Giants starter. Adrian Houser was the reliever in six of the first seven. He has been on the injured list since August 26 with a right forearm strain and was moved to the 60-day list on September 1. Rafael Devers hit his 36th home run, a grand slam off Robbie Ray in the fifth, and San Francisco scored nothing after it. Two takes filed.

Grant LombardSep 12, 20265 min read
Adrian Houser's Forearm Took A Job With It, And San Francisco Has Been Filling It With Starting Pitchers

On the record

Called Shots →
Held upAug 21, 2026

San Francisco uses at least thirteen different starting pitchers in the 2026 regular season.

Ten men have started a game for the Giants through 127 games, which is tied for the sixth-fewest in the majors against a league median of thirteen. Three of the ten cannot start another: Mahle and Ray were traded on August 2 and 3, and McDonald is on the sixty-day injured list. The claim is that the season-long number ends up ordinary rather than exceptional, and it needs three names that have never started a game for this club to start one in the last thirty-five. That is the same rate the club has already run since the deadline, when Tidwell, Brubaker and Wilkinson each got a first start inside sixteen games, and September roster expansion makes an audition cheaper than it was in July. The honest case against it is that Webb, Roupp, Whisenhunt and Tidwell are four healthy starters for a five-man rotation and a club can fill the fifth day with the men it already has. Filed against every open Giants row: the Trent Harris row asks whether one specific pitcher starts a game and this one asks how many men do, and neither settles the other.

Latest on the Giants

The whole beat →
Left versus right

Remove Rafael Devers and the Giants are still 25th against left-handed pitching

Rafael Devers posted a .573 OPS against left-handed pitching and a 1.027 OPS against right-handed pitching in 2026, a gap of 454 points and the largest of any qualified left-handed hitter in the major leagues. Remove his 220 plate appearances against left-handers from San Francisco's team totals and the Giants improve from .669 to .684, which moves them from 28th to 25th of thirty and leaves them 22 points below the league median of .706. The 40-man roster holds 18 position players, nine right-handed and nine left-handed, and no switch-hitter; four of the thirty clubs are in that position. Willy Adames, the club's primary right-handed bat, hit worse against left-handed pitching than against right-handed pitching. The best right-handed answer in the system is 22-year-old Lorenzo Meola, who is at Single-A San Jose. One take filed.

Grant LombardSep 21, 20266 min read
Remove Rafael Devers and the Giants are still 25th against left-handed pitching
Two starts

The blister cost Logan Webb two starts and nothing else

San Francisco placed Logan Webb on the 15-day injured list on September 18 with a right middle finger blister and shut him down for the season, ending a year in which he made 27 starts and threw 160 2/3 innings at a 4.31 earned run average. It is his second injured list stint of 2026; he did not start for 20 San Francisco games in May with right knee bursitis. The 160 2/3 innings end a run of three straight seasons above 200, and two more starts at this year's rate would have left him near 172. His innings per start has fallen in each of the three seasons since 2023: 6.55, 6.20, 6.09, 5.95. Over his last five starts he allowed 23 earned runs in 21 2/3 innings. Landen Roupp has already made more starts than Webb this season, the first time anyone on the club has since 2021, and needs six innings across his remaining turns to pass him in innings as well. Hayden Birdsong, Trevor McDonald and Carson Whisenhunt are all on the club's injured list rehabbing from Tommy John surgery. One take filed.

Grant LombardSep 19, 20266 min read
The blister cost Logan Webb two starts and nothing else
Five innings

Flora was lined up to start a championship game, until the Giants moved him up

Jackson Flora's entire professional record is five innings across three starts, and the assignments around them are the part worth reading. San Francisco signed the fourth overall pick on July 18 and assigned him to the Arizona Complex League the same day. He was activated there on July 29 and never pitched in a game. He was sent to Single-A San Jose on September 1, debuted on September 4, and started Game 2 of the California League Division Series on September 10, telling reporters that night he was lined up for Game 3 of the championship series if it was needed. It was needed. On September 13, the day San Jose opened that series, the league's transaction feed records Flora assigned to Double-A Richmond. San Jose lost the deciding game on September 16 without him. He started for Richmond on September 17 in a game the Flying Squirrels had to win, retired all six men he faced on 28 pitches with four strikeouts, and Richmond lost 5-3 and was eliminated. He has never pitched at High-A. Of the thirty players taken in the first round of the 2026 draft, he is the only one to appear in a game above that level. Two takes filed.

Andie TownsendSep 18, 20265 min read
Flora was lined up to start a championship game, until the Giants moved him up

Earlier on the Giants

Runs without a swing

The Giants can hit with men on base. They are last at putting them there.

Read Thursday, September 17, 2026, off the league's play-by-play for all 153 San Francisco finals and cross-checked against Baseball Savant: the Giants have scored 649 runs, 278 of them on home runs, leaving 371 runs that did not come on a swing over the fence. That is 2.42 a game, twenty-sixth of thirty clubs, against a league average of 2.67. The usual explanation does not survive contact with the numbers. San Francisco hits .263 with runners in scoring position, ninth best in baseball and above the league's .253. What it does not do is put men there. The Giants have drawn 429 walks, fewer than any other club, with Toronto next at 432 and the league averaging 513.6. They are ninth in batting average and twenty-seventh in on-base percentage, an eighteen-place fall that is the largest in the major leagues. Their share of runs on home runs, 42.8 percent, is ninth of thirty against a league figure of 40.5 percent, which makes it ordinary. One take filed.

Jamie SilvaSep 17, 20267 min read
The Giants can hit with men on base. They are last at putting them there.
The innings

Spencer Bivens Threw More Innings In Sacramento Than Any Giants Reliever Threw In San Francisco

The Kansas City Royals claimed right-hander Spencer Bivens off waivers from San Francisco on September 12 and optioned him to Triple-A Omaha the same day, per both clubs' transaction feeds. San Francisco had designated him for assignment on September 9, the day it claimed Duncan Davitt off Atlanta, and its 40-man roster read 40 of 40 before the designation and reads 40 of 40 now. Bivens threw 75.0 innings in 35 appearances for Sacramento in 2026 at a 4.92 earned run average, and 5.0 innings in four appearances for San Francisco at 14.40. No San Francisco pitcher who made fewer than two starts threw more than JT Brubaker's 60.1 major league innings this season, and the leader among pitchers who made none is Caleb Kilian at 44.1. In 2025 Bivens led every San Francisco reliever with 81.0 innings in 54 games. Kansas City's open 40-man spot traced to the Yankees claiming John Schreiber on August 31. San Francisco has designated 13 players in 2026 and another club has claimed two of them. Omaha's season ends September 20. No take filed: both bounced at the desk price.

Grant LombardSep 13, 20265 min read
Spencer Bivens Threw More Innings In Sacramento Than Any Giants Reliever Threw In San Francisco
The farm

The Level Changed Luis Hernández And It Did Not Change Josuar Gonzalez

The Giants promoted shortstops Josuar Gonzalez and Luis Hernández from the Arizona Complex League to Low-A San Jose on July 24, and both debuted for San Jose on July 25. Through August 22, Gonzalez is hitting .379/.476/.609 in 21 games with 16 walks against 19 strikeouts. Through August 20, Hernández is hitting .231/.276/.319 in 20 games with 6 walks against 29 strikeouts. A .463 batting average on balls in play accounts for most of the difference in the batting averages and will not last. The plate-discipline gap will not regress the same way: Gonzalez walked and struck out at San Jose at almost exactly the rates he posted in the complex league, while Hernández's walk rate halved and his strikeout rate nearly doubled. Hernández is fourteen months younger, is in his first full-season league, and had the better strikeout rate of the two in the complex over a sample nearly twice as large. He is on San Jose's active roster and has not batted since August 20. MLB Pipeline moved the Giants from 19th to 5th in its refreshed farm system rankings on August 16, credited Gonzalez in part, and ranks Gonzalez 17th and Hernandez 27th among all prospects in baseball.

Grant LombardAug 23, 20265 min read
The Level Changed Luis Hernández And It Did Not Change Josuar Gonzalez