Giants
One night up

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

The Giants selected his contract when Daniel Susac's kneecap broke, put him on the bench at Oracle Park, and optioned him back to Sacramento the next day. He is 26, he has a 40-man roster spot, and the statistical record of his major league career is a blank page.

GL
Grant LombardAug 12, 20264 min read
Zach Morgan in a posed minor league headshot taken before his call-up, wearing a white jersey with black and orange collar piping under a black cap carrying an orange and white cartoon animal mark. It is not the San Francisco uniform.

Here is Zach Morgan's complete major league statistical record, current through Wednesday morning.

GABRHHRRBIAVG
-------

That was it. There is nothing there.

The San Francisco Giants selected his contract from Sacramento on August 10, which put a 26-year-old catcher from Stockton on a major league roster for the first time in his life, four years after they took him in the seventh round out of the 2022 draft. He was there because Daniel Susac fouled a pitch off his own left kneecap and fractured it, and because a club that has spent this season losing needed a second catcher by first pitch.

The league's box score from that night at Oracle Park lists the Giants bench: Nate Furman, Buddy Kennedy, Eddys Leonard, Zach Morgan. Drew Cavanaugh caught, batting seventh. Houston won 6-3. Morgan did not hit, did not run, did not squat behind the plate for a single pitch.

The next day the Giants signed Andrew Knizner off the free agent market and optioned Morgan back to Sacramento.

Baseball has a word for a man who spends time on a major league active roster and never appears in a major league game. He is a phantom ballplayer, and the Society for American Baseball Research has gone looking and found more than 400 of them. The modern ones are almost never romantic. A player gets added because somebody got hurt, sits, and is removed by a subsequent transaction before the manager ever needs him. Optioned, usually. That is the whole mechanism, and it is exactly the mechanism that ran here.

Morgan is not one of them yet, and the distinction is the only genuinely hopeful thing in this story. The term is a claim about a whole career, not about a week. He is 26 and he is still on the 40-man roster, which is the part everybody skips past. A player who is optioned to Triple-A keeps his 40-man spot; he just keeps it in Sacramento. San Francisco carries 45 names on that roster with six of them parked on the 60-day injured list, and one of the 39 that count belongs to a catcher currently hitting .241 for the River Cats.

So the club spent something on him and then declined to use it. Both of those are true at once.

Anyway. The obvious question is why the Giants went outside the building the very next day, and the honest answer is that Knizner is better right now and the numbers are not close. Knizner is 31, he debuted for St. Louis in June 2019, and he has 326 major league games behind him. He has hit .211 in them, with a .597 OPS, which is the batting line of a man employed for the other half of the job. He also came into this week hitting .294 with a .945 OPS across 54 Triple-A games in two organizations this season, Albuquerque and Worcester, with 12 home runs. Morgan has hit .241 with a .648 OPS in 28 games at the same level.

A club picking between those two on August 11 picks Knizner, and it is not a hard call, and pointing at it as though it were cruel would be dishonest.

What makes it land anyway is the shape of the week around it. Signing Knizner to a major league contract required a 40-man spot, and the Giants opened one that same day by designating Eddys Leonard for assignment. Leonard is 25. He debuted on August 4. He got three games and eight at-bats and two hits, and then the Giants needed the space and he was gone. That is a short major league career. It is also a major league career. It has a line in the encyclopedia, and a first hit in it, and nobody can take either one back.

Morgan got the call and the flight and the clubhouse and the uniform, and he does not have the line.

He did not come away with nothing, though, and that is the part these stories usually leave out. A day on a major league active roster is a day of major league service time and a day paid at the major league rate, and both of those are real, and a catcher four years out of the seventh round had never had either one. Service time is the currency the entire labor system runs on, and it accrues by the day rather than by the at-bat. He is credited with a day of it.

He is not credited with a game.

Meanwhile Cavanaugh, who is 24 and debuted in late June, keeps catching. He caught the Monday loss and he caught Tuesday's 4-1 win, batting eighth in that one, with Knizner on the bench where Morgan had been. Cavanaugh is hitting .242 with a .351 on-base percentage and no home runs in 28 games, which for a rookie catcher on a 50-70 club is somewhere between fine and beside the point. He is the catcher because he is there and because the other four on the 40-man are hurt, in Sacramento, or 31 and signed on Tuesday.

The Giants are 50-70 and 22 games behind in the West. Rosters go to 28 on September 1. Susac is on the injured list with a fractured kneecap, Jesus Rodriguez is on the injured list too, and a last-place team playing out the string has every practical reason to look at a catcher it drafted and developed before it decides anything about 2027.

Called Shot: Zach Morgan appears in a major league game for the San Francisco Giants before the end of the 2026 regular season.

That is the call, and it is a real one rather than a formality. He was available to catch exactly one major league game, and the Giants played all nine innings of it with a rookie behind the plate and Morgan watching. A September recall is likely. A September recall that never gets an inning is exactly how the other 400 got their designation.

He is 26, he is on the 40-man roster, and the page is still blank.


Sources: Major League Baseball official transaction log for the San Francisco Giants (August 7 through August 12, 2026); MLB Stats API player records and box scores for games 823189 (August 10) and 823186 (August 11) at Oracle Park; MLB Stats API 40-man roster for the Giants dated August 12, 2026; National League standings, August 12, 2026. The phantom ballplayer definition and count follow published Society for American Baseball Research work on the category. Nobody from this site was at Oracle Park.

Filed under Giants

More on Daniel Susac

His page →
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.

Grant LombardAug 11, 20265 min read
Ninety Days On The Roster Was The Price Of Daniel Susac, And The Giants Cleared It Friday

On the record

Called Shots →
OpenAug 12, 2026

Zach Morgan appears in a major league game for the San Francisco Giants on or before September 27, 2026.

He was on the active roster for exactly one game, August 10 against Houston, and did not enter it; the Giants then signed Andrew Knizner off the free agent market and optioned Morgan back to Sacramento. He keeps his 40-man spot, rosters expand to 28 on September 1, and Daniel Susac and Jesus Rodriguez are both on the injured list, so the opening is real. The call is against what the club actually did with him: given one game in which he was available to catch, it caught Cavanaugh for all nine innings, and then it went outside the organization the next day rather than keep him.