Houston Astros starting pitcher Lance McCullers Jr. looks back at the scoreboard as he walks off the field after being pulled in the third inning of an MLB baseball game on Wednesday, May 6, 2026.

Houston Astros starting pitcher Lance McCullers Jr. looks back at the scoreboard as he walks off the field after being pulled in the third inning of an MLB baseball game on Wednesday, May 6, 2026.

Jason Fochtman/Houston Chronicle

When Major League Baseball owners stand behind a podium and proudly announce the millions of dollars they’re investing in a player in the form of a new contract, it’s usually heralded as a big day in franchise history.

Sometimes, years later, those events are looked at as big for all the wrong reasons.

Case in point: Lance McCullers. When the Astros gave him a five-year, $85 million contract in 2021, they were heralded for spending the money to ensure part of their core didn’t eventually leave in free agency like so many Houston stars before him. By the tail end of that deal, the Astros were searching for other teams to take McCullers’ contract off their hands as injuries had sidelined him for the majority of those five seasons. They found a taker in the Milwaukee Brewers, who traded for McCullers on Wednesday.

Article continues below this ad

Still, McCullers won two championships with the Astros, including one after signing the big contract, so it’s far from the worst deal the Astros ever put together. Surely, everyone remembers José Abreu, correct? And if you’re old enough, you’ll never forget Jim Clancy, John McMullen’s big addition to the starting rotation in 1989 after he decided Nolan Ryan, of all people, wasn’t worth his money.

Some bad contracts are poor in name alone, and actually are just the price of doing business. Sure, the Astros paid Justin Verlander $66 million over two years in which he pitched in just one game because of Tommy John surgery in 2020, but he’s a Hall of Famer, who eventually returned and helped his team win a second World Series. Former Astros owner Drayton McLane also wasn’t too happy when Jeff Bagwell was the seventh highest-paid player in baseball in 2005 while barely being able to raise his right arm, but he’s one of the greatest players in franchise history and is wearing an Astros cap on his plaque in Cooperstown.

We put together a list of the 10 worst contracts the Astros have ever handed out, but it may need to be updated in a few years when there’s time to properly reflect on the deals given out to current struggling starting pitchers Tatsuya Imai and Cristian Javier.

Still, neither of those contracts will be able to top No. 1 on the list:

Article continues below this ad

1. José Abreu, first baseman

Houston Astros first baseman Jose Abreu (79) chases Atlanta Braves Matt Olson’s ball and was charged a fielding error during the eighth inning of an MLB baseball game at Minute Maid Park on Wednesday, April 17, 2024, in Houston.

Houston Astros first baseman Jose Abreu (79) chases Atlanta Braves Matt Olson’s ball and was charged a fielding error during the eighth inning of an MLB baseball game at Minute Maid Park on Wednesday, April 17, 2024, in Houston.

Karen Warren/Staff photographer

This contract was so bad, the Astros had to pay the first baseman nearly $30 million even after releasing him. When the Astros gave Abreu a three-year, $58.5 million deal shortly after winning the 2022 World Series — at a time when the team was operating without a general manager, it should be noted — they thought they were getting the guy who hit .292 with 243 home runs in nine seasons with the Chicago White Sox. Instead, Abreu hit .237 with 18 home runs in 2023, and then really fell of a cliff. At 37 years old, Abreu hit just .124 with two home runs in 35 games in his second season in Houston, which included a month-long stint back at the spring training complex to try to fix his swing midseason. It didn’t work and Abreu was released in June, making it only halfway through his hefty contract.

2. Rafael Montero, relief pitcher

Houston Astros pitcher Rafael Montero (47) leaves the field after finish pitching the ninth inning against San Francisco Giants at Daikin Park in  Houston on Monday, March 31, 2025. San Francisco Giants won the game 7-2.

Houston Astros pitcher Rafael Montero (47) leaves the field after finish pitching the ninth inning against San Francisco Giants at Daikin Park in Houston on Monday, March 31, 2025. San Francisco Giants won the game 7-2.

Elizabeth Conley/Houston Chronicle

Two weeks before they signed Abreu, a franchise operating without a general manager after letting James Click walk following the 2022 World Series title made another blunder. The Astros gave Montero a three-year, $34.5 million contract that made him one the 10 highest-paid relievers in the game. Montero had been a key part of the 2022 title team, posting a 2.37 ERA with 14 saves in 71 outings in the regular season, then allowing just two runs in 10 postseason appearances, but he couldn’t repeat the success after getting the big contract. Montero had a 5.08 ERA in 2023 and was bad enough in 2024 that he was designated for assignment and sent to the minors. The Astros finally got out from under the contract by trading Montero and cash to the Atlanta Braves early in the 2025 season. The 35-year-old currently is pitching for the New York Yankees’ Triple-A team.

Article continues below this ad

3. Jim Clancy, starting pitcher

Pitcher Jim Clancy of the Houston Astros winds back to pitch during a game in the 1989 season. 

Pitcher Jim Clancy of the Houston Astros winds back to pitch during a game in the 1989 season. 

Mike Powell/Getty Images

This contract still stings longtime Astros fans, because it came as owner John McMullen’s answer for not being willing to spend the money to keep Nolan Ryan in Houston for the rest of his career. After nine seasons in Houston, Ryan was asked by McMullen to take a 20% pay cut to stick around. Instead, the 42-year-old left for the Texas Rangers, who gave him $3 million for two years. To take his place in the starting rotation, the Astros signed Clancy to a three-year, $3.4 million deal. “I can’t replace Nolan Ryan, I know that,” Clancy told the Houston Chronicle when he signed. “I also know that I can go out and pitch 200 to 225 innings a year. I can get 15 wins a year and with a little luck, maybe more.” Instead, Clancy went 7-14 with a 5.08 ERA in 147 innings in 1989 and had a 6.51 ERA in Year 2 when he was moved to the bullpen. The Astros got rid of the contract by dealing him to the Atlanta Braves at the trade deadline the following year and Clancy retired after appearing in the World Series for the Braves, who lost in seven games to the Minnesota Twins.

4. Greg Swindell, starting pitcher

04/28/1993 - Houston Astros pitcher Greg Swindell delivers a pitch in game against the Chicago Cubs in the Astrodome.

04/28/1993 – Houston Astros pitcher Greg Swindell delivers a pitch in game against the Chicago Cubs in the Astrodome.

Dave Einsel/Houston Chronicle

Five months after buying the Astros from John McMullen in 1992, new owner Drayton McLane wanted to make a splash, so he gave big contracts to a pair of Texas guys: Starting pitchers Doug Drabek and Greg Swindell. Drabek, who was from Victoria and pitched at UH, may not have lived up to the hype, but he still was good in his four years in Houston, even making the 1994 All-Star team. Swindell, the former Sharpstown High School star, struggled after getting a four-year, $18 million contract. Swindell went 30-31 with a 4.32 ERA in his first three seasons and was moved to the bullpen in Year 4 where things turned disastrous. He allowed 20 runs in 23 innings before the team pulled the plug and released him in May, forcing McLane to eat the final year of that contract. In the next day’s Houston Chronicle, columnist Fran Blinebury wrote that the move “only made about as much sense as a drowning man letting go of an anvil. They still might not be able to keep their heads above water, but at least the flailing won’t be so tiring.”

Article continues below this ad

5. Lance McCullers, starting pitcher

Houston Astros starting pitcher Lance McCullers Jr. (43) tips his cap after being pulled following a solo home run by Seattle Mariners J.P. Crawford during the sixth inning of an MLB baseball game on Wednesday, May 13, 2026.

Houston Astros starting pitcher Lance McCullers Jr. (43) tips his cap after being pulled following a solo home run by Seattle Mariners J.P. Crawford during the sixth inning of an MLB baseball game on Wednesday, May 13, 2026.

Jason Fochtman/Houston Chronicle

Giving a 27-year-old McCullers a five-year, $85 million contract extension in 2021 made all the sense in the world at the time. McCullers was a key part of the young core that led the Astros’ Golden Era, including getting huge wins in the 2017 title run. With Justin Verlander on the shelf in 2021, McCullers was that team’s ace, which made his $17 million annual salary a bargain. However, after injuring his arm in the 2021 postseason, McCullers was able to make just 32 starts over the next five seasons before he was traded to the Brewers with just months left on his deal.

6. Kaz Matsui, second baseman

The Astros' Kaz Matsui, tries to make an out in the third inning but makes an error as the Astros lost to the Colorado Rockies 11-5 at Minute Maid Park Friday, April 18, 2008.
Coming into today's game, the Astros were last in their division with a record of 6 and 10.
( Johnny Hanson / Chronicle )

The Astros’ Kaz Matsui, tries to make an out in the third inning but makes an error as the Astros lost to the Colorado Rockies 11-5 at Minute Maid Park Friday, April 18, 2008. Coming into today’s game, the Astros were last in their division with a record of 6 and 10. ( Johnny Hanson / Chronicle )

Johnny Hanson/Houston Chronicle

When Craig Biggio retired after the 2007 season, the Astros were looking for their next second baseman and thought they found him when they gave Matsui a three-year, $16.5 million contract. The Astros should have seen the warning signs, mainly that Matsui, who hit .288 for the Colorado Rockies in 2007, hit 81 points higher at Coors Field than he did on the road. In his first two seasons in Houston, Matsui struggled to stay healthy and hit .269 with a .713 OPS, but by the third year he was hitting .141 with 78 plate appearances and lost his job at second base to Jeff Keppinger. The Astros released him in May, choosing to eat the final $5 million on his contract. Matsui returned to Japan where he played professionally for eight more seasons.

Article continues below this ad

7. Woody Williams, starting pitcher

Houston Astros starter Woody Williams throws to the Philadelphia Phillies in the first inning of a baseball game at Minute Maid Park on Monday, July 2, 2007 in Houston. (Jessica Kourkounis/For The Chronicle)

Houston Astros starter Woody Williams throws to the Philadelphia Phillies in the first inning of a baseball game at Minute Maid Park on Monday, July 2, 2007 in Houston. (Jessica Kourkounis/For The Chronicle)

Jessica Kourkounis/For the Chronicle

On the same day, the Astros gave Carlos Lee a then-franchise record $100 million contract, they gave 40-year-old Williams a two-year deal worth $12.5 million. It was a homecoming for the former Cy-Fair High School and UH star, but it didn’t work out. Williams went 8-15 with a 5.27 ERA in 2007 and was so bad in spring training the following year, the Astros released him before opening day even though they still owed him $6.5 million. Williams retired after getting released. 

8. Carlos Lee, outfielder

Houston Astros first baseman Carlos Lee (45) looks to bat during the first inning of the Houston Astros vs. the Cleveland Indians at Minute Maid Park, Sunday, June 24, 2012, in Houston. ( Michael Paulsen / Houston Chronicle )

Houston Astros first baseman Carlos Lee (45) looks to bat during the first inning of the Houston Astros vs. the Cleveland Indians at Minute Maid Park, Sunday, June 24, 2012, in Houston. ( Michael Paulsen / Houston Chronicle )

Michael Paulsen/Houston Chronicle

Lee’s name often is one of the first to be mentioned in this conversation, but fans bring him up just because of all the hoopla that surrounded his signing before the 2007 season when the Astros gave him a six-year, $100 million contract that was the most expensive in franchise history and the 11th largest in baseball at the time. Lee more than lived up to the billing for the first half of that contract, hitting .305 with 86 home runs and 321 RBIs in his first three years in Houston. However, as Lee entered his mid-30s, the production waned as he hit 24 home runs in 2010 and down to 18 in 2011. By 2012, new owner Jim Crane and general manager Jeff Luhnow were in charge and a complete teardown was underway, so Lee was shipped to the Marlins in July with just months left on his contract. The Astros wouldn’t give out another $100 million contract until Jose Altuve signed a five-year $151 million extension in 2018.  

9. Tony Sipp, relief pitcher

Houston Astros relief pitcher Tony Sipp (29) pitches in the fifth inning of an MLB baseball game at Minute Maid Park, Saturday, July 9, 2016, in Houston. ( Karen Warren  / Houston Chronicle )

Houston Astros relief pitcher Tony Sipp (29) pitches in the fifth inning of an MLB baseball game at Minute Maid Park, Saturday, July 9, 2016, in Houston. ( Karen Warren / Houston Chronicle )

Karen Warren/Houston Chronicle

Jeff Luhnow didn’t make many contract mistakes in his time at general manager, but this was one. Luhnow signed Sipp off the scrap heap early in the 2014 season and he became one of the team’s most trusted relievers on the 2015 team that broke the franchise’s nine-year playoff drought. Two months after the Astros lost to the Royals in the American League Division Series, Sipp was given a three-year, $18 million contract. Sipp regressed in a big way in 2016 and in 2017, he posted a 5.79 ERA and didn’t make any of the playoff rosters on that team’s run to its first World Series championship. Sipp had a bounce-back year in 2018, but was still highly overpaid. He signed with the Washington Nationals in 2019, but was released before the Nationals beat the Astros in the World Series that year.

10. Colby Rasmus, outfielder

Houston Astros left fielder Colby Rasmus (28) hits a two-run home run during the third inning of an MLB game at Minute Maid Park, Wednesday, July 27, 2016, in Houston.

Houston Astros left fielder Colby Rasmus (28) hits a two-run home run during the third inning of an MLB game at Minute Maid Park, Wednesday, July 27, 2016, in Houston.

Karen Warren/Houston Chronicle

This wasn’t so bad, because it was just a one-year deal, but it stood out because Rasmus’ $15.8 million salary made him the highest-paid player on the roster by a wide margin with no other Astro making more than $9.5 million in 2016. Rasmus had a huge postseason in 2015, hitting three homers in the five-game ALDS loss to the Royals. Looking to receive a compensatory draft pick when Rasmus left in free agency, the Astros made him a qualifying offer, but Rasmus shocked everyone when he became the first player in MLB history to accept the offer. Rasmus was one of the worst offensive players in baseball in 2016, hitting .206 with a .641 OPS. Rasmus left the team in September, ending his Houston tenure.