Morris made his professional debut in 2019 with the Single–A Lake County Captains and High–A Lynchburg Hillcats.[5] Over 21 games (20 starts) between the two teams, he went 7–4 with a 4.35 ERA and 111 strikeouts over 89 innings.[6] He did not play in a game in 2020 due to the cancellation of the minor league season because of the COVID-19 pandemic.[7] He started 2021 with the Double–A Akron RubberDucks before being promoted to the Triple–A Columbus Clippers. He appeared in 15 games (making 14 starts) between the two teams, going 2–2 with a 1.62 ERA and 93 strikeouts over 61 innings.[8]
The newly named Cleveland Guardians selected Morris to their 40-man roster on November 19, 2021.[9] He began the 2022 season on the major league 60-day injured list with a shoulder injury. After completing his rehab assignment with the Triple-AColumbus Clippers, Morris was activated from the injured list on September 1, 2022. He was promoted to the major leagues for the first time the same day, and made his major league debut on September 2, starting against the Seattle Mariners. On September 23, Morris earned his first career win after allowing two runs (one earned) on four hits with five strikeouts across five innings pitched against the Texas Rangers.[10] In 7 appearances (5 starts) in his rookie campaign, Morris registered a 1–2 record and 2.28 ERA with 23 strikeouts in 23+2⁄3 innings pitched.[11]
In 2023, Morris experienced lat discomfort in spring training,[12] and was placed on the injured list to begin the season with a right teres major strain.[13] He made rehab appearances with Akron and Columbus[14] before he was activated from the injured list on June 11.[15] In six major league games for Cleveland, he posted a 6.75 ERA with nine strikeouts across eight innings pitched.
New York Yankees
On December 26, 2023, the Guardians traded Morris to the New York Yankees in exchange for Estevan Florial.[16][17] He was optioned to the Triple–A Scranton/Wilkes-Barre RailRiders to begin the 2024 season.[18] Morris was designated for assignment by the Yankees on July 14.[19] He cleared waivers and was sent outright to Triple–A Scranton on July 20.[20] In 26 appearances for Scranton, he logged a 6–0 record and 4.03 ERA with 46 strikeouts across 38 innings pitched. Morris was released by the Yankees organization on November 19.[21]