Giants
The debut

The Giants Called Up Tugboat Wilkinson To Start And Used Him For Seven Batters

Matt Wilkinson had pitched seventy professional games before Wednesday night and started sixty-nine of them. The one that counted lasted twenty-five pitches, and Tony Vitello's explanation afterwards was about a date next week rather than about a role.

GL
Grant LombardAug 20, 20264 min read
Every call on this site goes on a public ledger and gets graded. The misses stay up.

San Francisco changed pitchers in the bottom of the third inning at Progressive Field on Wednesday night, which is normally a sentence you skip.

Matt Wilkinson had thrown twenty-five pitches, fourteen of them for strikes. He had faced seven Cleveland hitters and retired six. Adrian Houser came in, and the twenty-three-year-old left-hander walked off with a major league debut that read two innings, one hit, no runs, no walks and no strikeouts.

He was doing it in Cleveland's ballpark. Wilkinson turned professional when the Guardians signed him on July 22, 2023, and had appeared in seventy professional games before Wednesday, starting sixty-nine of them. The one exception was a single inning of relief for the complex-league Guardians on August 15, 2023, three batters, three strikeouts, twenty-four days into the job.

(That is the entire bullpen career. He has been a starting pitcher for three years and one August afternoon in Arizona.)

What he actually did with the seven#

The first three were Steven Kwan, José Ramírez and Nathaniel Lowe, which is not a soft landing. Fly ball to center, pop-up to second, ground ball to short. Angel Martínez singled to open the second and stole second base. Then Travis Bazzana popped to the catcher in foul ground, Angel Genao grounded to short and Petey Halpin popped to third, with Martínez still on second when it ended.

Five of his six outs never left the infield. Alex Pavlovic of NBC Sports Bay Area charted eighteen four-seamers averaging 90.1 mph and topping out at 91, and noted that Cleveland put seven balls in play against him and only one was hit harder than 90.

The fastball has a name. The Invisiball, which sounds like a marketing department and is a description of the release point: he throws from low, the ball arrives later than the scoreboard says it should, and Triple-A hitters batted .172 against it this season. The man has a name too. Tugboat, hung on him at the Little League World Series by his father's best friend Phil McNeil, and explained without any attempt at dignity: "I wasn't moving too fast around the bases growing up."

Cleveland took him in the tenth round in 2023, 308th overall, out of Central Arizona College, for $110,000 against a slot value of $165,300. Cleveland traded him on May 9 for Patrick Bailey. San Francisco selected his contract from Sacramento on Wednesday, after moving Harrison Bader and Daniel Susac to the sixty-day injured list to clear the room.

The word for what he was is opener#

San Francisco has played 126 regular-season games. In three of them the starting pitcher was removed after two innings or fewer, and one of those was the June 16 game in Atlanta that got suspended after an inning and finished the next afternoon.

That leaves two by design. August 7 against Detroit, when JT Brubaker faced five hitters and left. And Wednesday.

Adrian Houser threw the bulk innings behind both of them. Five innings each time. He won both games.

(Houser is in all three of those games. He was the one-inning starter in the suspended one, which is a coincidence rather than a plan.)

Vitello described a calendar, not a job#

Asked about it afterwards, the manager did not talk about what Wilkinson is.

"When guys play like that, you look smart," Tony Vitello said, per Maria Guardado of MLB.com. "There's a few options with what we would do. Tonight was, in part, to get him out there, but also set him up for innings in Boston of some sort."

Innings in Boston of some sort. That is a manager telling you the two innings were a scheduling instrument, and the sentence declines to call him a starter or a reliever. The Giants open at Fenway on Friday with Logan Webb and Saturday with Blade Tidwell. Boston has named Jake Bennett for Sunday. San Francisco has named nobody.

The other guy in the story got the win, again#

Houser is thirty-three, is owed $9.5 million in 2027 on the two-year deal he signed last December, and made fourteen starts this year at a 5.73 ERA before the club took him out of the rotation in June. He has been better ever since in a role he has said plainly he does not want.

"I much prefer to [be a] starter," he told Ali Thanawalla of NBC Sports Bay Area on August 8. "That's what I signed here to do and that's what I plan to do here in the future but right now, it's all about getting outs and helping the guys as much as possible."

Four days after that he got the start. August 12 against Houston, his first since June 16: six innings, two hits, no runs, five strikeouts, seventy-three pitches. The Giants lost 2-1 and he was credited with nothing at all.

Seven days after that he was pitching the third inning at Progressive Field behind a debutant, and he got the win. It is his fourth win of the season and the second that has come in bulk relief behind an opener. Over his last six appearances he has thrown twenty-five innings and allowed two earned runs.

Anyway. He and Dylan Smith, who struck out five over the last two innings, combined with Wilkinson on a six-hit shutout. Parker Messick struck out ten in six and two-thirds and lost it, because Rafael Devers doubled to lead off the fourth, moved up on a wild pitch, and scored on a two-out ground ball that Victor Bericoto hit to shortstop Brayan Rocchio and that went for a single.

One to nothing, in two hours and nineteen minutes, in front of an announced 20,021.

The last out belonged to Patrick Bailey, who pinch-hit in the ninth as the go-ahead run with the tying run on first, and who is in Cleveland because San Francisco wanted the pitcher who opened the game. Smith struck him out looking.

Sunday is still blank. Wilkinson threw twenty-five pitches on Wednesday, which is not very many.

Sources: box score, play-by-play, decisions, game duration and attendance for gamePk 824394; the transaction log for teamId 137; Wilkinson's draft record, debut date and career game and start totals by level; Adrian Houser's 2026 game log and season line; and the San Francisco schedule and announced probable pitchers, all via the MLB Stats API, retrieved August 20, 2026. The count of San Francisco starts of two innings or fewer is this reporter's, taken from the starting pitcher's line in every one of the club's 126 regular-season box scores through August 19. Vitello's postgame quote via Maria Guardado, MLB.com, August 19, 2026; the nickname, the Invisiball and the Triple-A opponent average via Guardado's call-up story for the same outlet the same day. Houser quote via Ali Thanawalla, NBC Sports Bay Area, August 8, 2026. Pitch-tracking observations via Alex Pavlovic, NBC Sports Bay Area, August 19, 2026. Contract terms via the Associated Press, December 20, 2025. The Associated Press game story lists Houser's record as 3-8; the league's own game log and season line both give 4-7 across twenty-five appearances, and that is the figure used here.

Filed under Giants

More on Adrian Houser

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
Twelve Outs

Logan Webb Got Six Outs In Pittsburgh. The Pitcher San Francisco Added That Morning Got Twelve.

San Francisco selected the contract of left-hander Cesar Perdomo from Triple-A Sacramento on September 1 and he made his major league debut the same afternoon at Pittsburgh, pitching the fourth through the seventh innings of a 13-12 loss. Perdomo faced fifteen batters, recorded twelve outs, allowed three hits and one run, walked one and struck out four, throwing 40 of 58 pitches for strikes. Logan Webb started and was charged with nine earned runs while recording six outs against eighteen batters faced. Perdomo is 24, signed as a free agent out of Venezuela on July 2, 2021, and did not appear in a professional game until June 2022, when a 60-day injured list stay ended his first season after fifteen innings. He did not reach a full-season league until April 2024 and was assigned to Double-A Richmond on April 1 of this year, five months before his debut. His Sacramento line was a 5.10 earned run average with 20 walks in 47 and two-thirds innings. The 40-man spot came from Adrian Houser, moved to the 60-day injured list the same day with a right forearm strain and a club-stated expected return of 2027. San Francisco also recalled catcher Zach Morgan, who has still never appeared in a major league game. Two takes filed.

Grant LombardSep 2, 20265 min read
Logan Webb Got Six Outs In Pittsburgh. The Pitcher San Francisco Added That Morning Got Twelve.

More on Matt Wilkinson

His page →
The November deadline

Yunior Marte's 40-Man Spot Was Already Spoken For In November

San Francisco selected Yunior Marte's contract on August 29 and started him in the second game of a doubleheader against Arizona, under three months before the November deadline at which the club had to protect him or lose him in December. Marte signed with Kansas City on June 2, 2022 at age 18, which under the published rule gives his club five seasons, and 2026 is the fifth. San Francisco acquired him from the Royals for Mike Yastrzemski at last year's deadline. Buster Posey described the promotion criterion in public on August 23, six days earlier. Matt Wilkinson was the same case ten days earlier. The counter-argument is five pitchers newly hurt in August, which explains the vacancy and not who filled it. Two takes filed.

Grant LombardAug 31, 20265 min read
Yunior Marte's 40-Man Spot Was Already Spoken For In November
August 23

Both Of The Arms San Francisco Added Saturday Last Pitched On August 23

San Francisco made three pitching moves on Saturday morning before a split doubleheader against Arizona: Matt Wilkinson recalled from Sacramento, the contract of left-hander Seth Lonsway selected from Sacramento, and Spencer Bivens optioned to Sacramento. Wilkinson and Lonsway both last pitched on August 23, which is the thing they have in common and the reason both are on the roster. Lonsway is 27, was signed by the Giants in July 2021, and has never appeared in a major league game; at Triple-A this season he has a 6.00 earned run average with 45 strikeouts against 49 walks in 72 innings. Arizona named Merrill Kelly and Mitch Bratt for the two games. San Francisco named nobody for either until late morning, when it posted Wilkinson, who had been recalled about four hours earlier, for the opener. Of the 34 starting pitcher slots on today's major league schedule, three were blank at mid-morning and two of them were San Francisco's. The active roster reads 27 men and 14 pitchers; the 40-man reads 39.

Grant LombardAug 29, 20264 min read
Both Of The Arms San Francisco Added Saturday Last Pitched On August 23
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 →
OpenAug 8, 2026

Trent Harris starts at least one major league game for San Francisco in the 2026 regular season.

The whole piece rests on reading the three Triple-A starts as a conversion rather than a coincidence, and this is that reading stated so it can be scored. San Francisco stretched Harris out over three consecutive starts from July 21 to July 31, rested him seven days, and then spent a 40-man spot on him with two rotation spots unfilled and no starter named for any of the three games against Houston that begin August 10. If that sequence means what it appears to mean, he starts. The case against is real and I am taking the other side anyway: he made 120 relief appearances and three starts in his professional life, his longest outing was four innings and 51 pitches, and a club can want bulk innings from a man without ever handing him the first inning. Adrian Houser and JT Brubaker are both available for the same job and both have done it. A bullpen game in which Harris follows an opener does NOT count; the claim is that he is credited with the start. If he is optioned to Sacramento and never returns, or is injured, that is a MISS rather than a VOID, because the club's willingness to give him a start is exactly what is being tested and sending him down is one of the ways the answer turns out to be no.

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

Feature

The last time Rafael Devers played third base, an umpire put him there

Rafael Devers played third base in every one of his first eight major league seasons, 951 games in all, and has played nine innings there since. All nine came on September 2, 2025 at Coors Field, after home plate umpire Phil Cuzzi ejected Matt Chapman in the top of the first and Devers moved across the infield. He handled three chances, threw all three to first base and has not played the position again. In February 2025 he told reporters at Red Sox spring training that third base was his position. In March, Alex Cora announced on WEEI that Alex Bregman would play there and Devers would be the designated hitter. In May, after Triston Casas was lost for the season, Devers declined a request to play first base and said Boston had told him to put his glove away. Boston traded him to San Francisco on June 15, 2025. He made his first career start at first base on July 22 at Atlanta, wearing a glove he said he had ordered on his second day with the Giants. He played 100 games at first base in 2026 and was the designated hitter in 48, carrying a core muscle injury the club says he chose to keep playing through, and finished with 37 home runs and 98 RBIs in 148 games. One take filed.

Posey ThompsonSep 16, 20267 min read
The last time Rafael Devers played third base, an umpire put him there
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 margin

A Price Can Move Six Cents Without Anybody Changing Their Mind

The margin baked into a baseball moneyline collapses from roughly 4.7 percent at the open to under 1.9 percent by late morning, which lengthens underdog prices and cheapens favorites whether or not anybody's opinion changed. Here is the arithmetic on four games, and what it does to a call this desk already filed in public.

Casey MontgomeryAug 14, 20267 min read
A Price Can Move Six Cents Without Anybody Changing Their Mind