Castillo signed a minor league contract with the Toronto Blue Jays on September 25, 2015, and was assigned to the Dominican Summer League Blue Jays for the 2016 season. Later that season, he was promoted to the rookie–level Gulf Coast League Blue Jays. Castillo began the 2017 season with the GCL Blue Jays, before being promoted to the rookie–level Bluefield Blue Jays later that season. After he finished the 2017 season with them, he was promoted to the Single–A Lansing Lugnuts to start the 2018 season. After spending the whole season with the team, he started the 2019 season with the High–A Dunedin Blue Jays before being promoted to the Triple–A Buffalo Bisons. Castillo did not play in a game in 2020 due to the cancellation of the minor league season because of the COVID-19 pandemic.[1]
Castillo spent the 2021 campaign with the Double–A New Hampshire Fisher Cats.[2] He started the 2022 season with Buffalo. On June 19, 2022, Castillo was selected to the 40-man roster and promoted to the major leagues for the first time.[3] He made his debut that day, allowing two home runs and striking out one in one inning pitched.[4] Castillo was in the majors for a couple days before being optioned back down to Buffalo, but he was recalled on July 7, after Blue Jays starting pitchers Yusei Kikuchi and Kevin Gausman came down with injuries.[5] Castillo made his first MLB career start on July 10.[6] In 9 games for the Blue Jays, he logged a 3.05 ERA with 20 strikeouts over 20+2⁄3 innings of work.
Kansas City Royals
On August 2, 2022, the Blue Jays traded Castillo and Samad Taylor to the Kansas City Royals in exchange for Whit Merrifield.[7] On August 18, Castillo was recalled from the Omaha Storm Chasers.[8] Castillo pitched 5 innings, allowing 3 hits and 1 run, while striking out 3 batters in his Royals debut.[9] He appeared in 5 total games (4 starts) for Kansas City down the stretch, struggling to an 0-2 record and 9.16 ERA with 17 strikeouts in 18+2⁄3 innings pitched.
Castillo was optioned to Triple-A Omaha to begin the 2023 season.[10] In 7 games for the Royals, he posted a 4.43 ERA with 10 strikeouts across 20+1⁄3 innings pitched. On December 19, 2023, Castillo was designated for assignment.[11]
Philadelphia Phillies
On January 2, 2024, Castillo was claimed off waivers by the Boston Red Sox.[12][13] On February 2, the Red Sox designated him for assignment following the acquisition of Tyler Heineman.[14] He was then claimed by the Philadelphia Phillies on February 7.[15] Castillo was optioned to the Triple–A Lehigh Valley IronPigs to begin the 2024 season.[16] In 14 games (13 starts) split between Lehigh and the Double–A Reading Fightin Phils, he struggled to a combined 0–6 record and 7.62 ERA with 40 strikeouts over 52 innings of work. Castillo was designated for assignment by Philadelphia on August 9.[17] He cleared waivers and was sent outright to Triple–A Lehigh Valley on August 11.[18] Castillo was released by the Phillies organization the following day.[19]