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 →
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
The four days

A Rainout In Atlanta In June Left The Giants Needing Two Starters On Saturday

San Francisco's schedule from Friday to Monday asks for four starting pitchers. Blade Tidwell is the only one named. Saturday is a split doubleheader at Oracle Park, moved off Sunday on June 23 to clear a travel day for the makeup of a June 18 rainout in Atlanta, which is now Monday. Ten men have started a game for the Giants in 2026; Robbie Ray and Tyler Mahle were traded, Trevor McDonald and Carson Whisenhunt are on the 60-day injured list, Adrian Houser went on the 15-day list Wednesday, JT Brubaker is on the 15-day list, and Matt Wilkinson was optioned to Sacramento on August 24. That leaves Logan Webb, Landen Roupp and Blade Tidwell, and all three are already spoken for. The club is carrying thirteen pitchers, which is the most the rules allow before September 1, when the active roster goes to 28 and the pitcher limit to 14. The doubleheader lets it add a 27th man for one day, and that exception is the only way Wilkinson pitches in the majors before September 8. Two takes filed, on the 27th man and on the length of the four starts.

Grant LombardAug 27, 20265 min read
A Rainout In Atlanta In June Left The Giants Needing Two Starters On Saturday

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

Twenty Men

Cesar Perdomo Gave Up Three Singles And A Walk In His First Major League Start

Cesar Perdomo made his first major league start at Citi Field on September 6, five days after his major league debut, and pitched six scoreless innings against the New York Mets. He faced twenty batters, allowed three singles and one walk, struck out four and threw 83 pitches, 48 of them for strikes. No New York runner reached second base against him. Joel Kuhnel pitched a scoreless seventh. Carson Seymour then allowed four earned runs on sixteen pitches in the eighth, on a solo home run by Brett Baty and a three-run home run by Bo Bichette, and San Francisco lost 4-2 in front of 29,410. The Giants scored both their runs in the fourth on a Jung Hoo Lee single and finished with five hits and twelve strikeouts. Perdomo is the thirteenth different pitcher to start a game for San Francisco in 2026, which resolves an open Andie Townsend call filed August 21, and his start resolves a Grant Lombard call filed September 2. Perdomo's career major league line is now ten innings, six hits, one earned run, two walks and eight strikeouts. His 2026 was worse at every stop before this: a 3.98 earned run average at Double-A Richmond and a 5.10 mark with twenty walks at Triple-A Sacramento. He has thrown 130 innings this year against a previous career high of 127 and a third. Two takes filed.

Grant LombardSep 7, 20265 min read
Cesar Perdomo Gave Up Three Singles And A Walk In His First Major League Start
The call-up

San Francisco Got The Better MRI And Called Up A Man Who Has Never Pitched Up Here

San Francisco placed Adrian Houser on the 15-day injured list Wednesday with a right forearm strain, transferred Carson Whisenhunt to the 60-day list, and selected the contract of right-hander Braxton Roxby from Triple-A Sacramento. Roxby is 27, has pitched in 211 professional games across six seasons, and has never appeared in a major league game. He came to the Giants in January 2025 as the return in a salary trade. His strikeout rate at Sacramento this year is 22.6 percent, against 30.8 percent across his five previous professional seasons. Houser's 2022 flexor strain in the same arm cost him 54 days; the Giants have 32 left before their last scheduled game on September 27.

Grant LombardAug 26, 20265 min read
San Francisco Got The Better MRI And Called Up A Man Who Has Never Pitched Up Here
The deadline buy

Marcelo Mayer's Foot Was Not The Injury San Francisco Was Buying

San Francisco acquired Marcelo Mayer from Boston on August 3 for reliever Erik Miller and outfielder Carlos Gutierrez, knowing he was on the injured list with a bone stress reaction in his left ulna. The forearm has given no trouble. Mayer began a rehab assignment at Triple-A Sacramento on August 13, played four games in six days, and has not been in a lineup since August 18. Manager Tony Vitello said Friday that the assignment stopped because of soreness in Mayer's right foot, an injury he had in Boston, and that an MRI and a CT scan found a bruise. Mayer is resting in San Francisco while the Giants play three games at Fenway Park against the club that traded him. Erik Miller pitched the seventh inning of the first one.

Grant LombardAug 22, 20265 min read
Marcelo Mayer's Foot Was Not The Injury San Francisco Was Buying