Rockies Sign Willi Castro

Our annual preview of free agency doesn’t include projected destinations for free agents. I don’t know if that has always been a site-wide editorial decision, but it’s one I wholeheartedly agree with. Predicting how much money someone will get is hard enough. Predicting which team out of many similar teams will give that money to them is essentially guesswork; sure, matching names to teams has entertainment value, but it’s hard to actually be good at it. Except, if you made me predict where Willi Castro would have signed before this offseason started, I absolutely would have picked the Rockies, and voila: Castro agreed to a two-year, $12.8 million deal with Colorado on Thursday.
The Rockies haven’t been players in free agency for a number of years, though that appears to be changing. Earlier this month, they signed Michael Lorenzen to a $8 million contract, the largest deal they’ve given to a pitcher in the 2020s. Castro’s deal is the biggest guarantee they’ve handed out to a free agent since Charlie Blackmon, and that hardly counts, what with him being a long-time Rockie signing the last deal of his career and all. Really, Castro is the team’s biggest signing since Kris Bryant, which says a lot about how the past few years have gone in Colorado.
What compelled the team to wade into the free agent position player pool – the shallow end, to be sure – for the first time in years? Signing a good major league player, that’s what. Castro is a versatile defender who won’t embarrass you offensively. In 2025 alone, he logged 100 innings at four different positions, plus cameos at shortstop and in center field. He’s not a standout at any of those spots, but the sheer flexibility is inarguably useful. Roster Castro, and you have a nice backup plan nearly everywhere. He’s a switch-hitter, too, so he can shore up any of the positions where you’d really prefer a platoon, regardless of who his platoon partner might be.
That’s exactly the role Castro played for two-plus years for the Twins, and when they were out of contention in 2025, they traded him to the Cubs and he did more of the same. The last time he had a single, permanent defensive role was in 2021 with Detroit. The ability to backfill whatever his team needs most is just too valuable for him to end up in a single place.
Defense is only half of the job, though. Castro isn’t quite Ben Zobrist offensively. He’s not the kind of hitter you have to get in the lineup, wherever he stands, like some utility players. From both sides of the plate, he’s a singles hitter who swings and misses a little more than you’d like for a guy with bottom-of-the-barrel bat speed and exit velo numbers. He makes up for that by putting the ball in play early in at-bats with a swing geared for line drives and the occasional pulled fly ball.
Finding the right balance of aggression changed the arc of Castro’s career. Through three-plus years in Detroit, he swung so often that he almost never walked, and also wasted a number of at-bats rolling over tough pitches he had no chance of doing damage against. In Minnesota, he dialed back his approach from swing-at-everything to merely above average, and the change was immediate. He walked twice as often, started pulling the ball in the air more, and went from an 85 wRC+ in Detroit to three straight years above 100 in the Twin Cities. He’s never going to be a fearsome power hitter, but golfing mistakes over the pull-corner wall suited his offensive game very well, giving him a little ceiling to go with the slap-hitting floor.
That’s not a stable offensive approach, though. Below-average power and below-average plate discipline mean that Castro is prone to some cold streaks when everything isn’t clicking, and the regression monster struck hard and fast after his trade to the Cubs last summer. Over two months and 110 plate appearances, he saw pretty much everything go wrong. He couldn’t get the ball in the air, and he particularly couldn’t pull it in the air. He whiffed more and walked less. His BABIP cratered. By the time October rolled around, he’d lost his super utility role; he barely played in the last week of the season and only batted twice as the Cubs bowed out in the NLDS.
That version of Castro – 40 wRC+, meh defense – wouldn’t have a job in the majors. But it would be silly to expect that a bad month and a half is a better indicator of Castro’s future than the previous two and a half years. We have a ton of projection systems here at FanGraphs, and they all expect Castro to put up a 2026 batting line that looks a lot like his career-to-date marks, with a wRC+ in the 90s and low double digit homers.
Add all of these skills together, and you end up with a guy who could play for every team in baseball, even if he’d be on the bench for many of them. He doesn’t have a carrying tool in the traditional sense, but that’s because the carrying tool is a lack of true weaknesses. He won’t kill you on defense regardless of where you put him. He doesn’t drag down an offense like many backups do; even if he’s not one of your team’s best five hitters, you’d have to be pretty dang good before you’d expect him to be one of your worst. He’ll swipe the occasional base. He’s still in his 20s. There are a lot of team-controlled bench players on playoff contenders who I’m almost certain Castro will outproduce in 2026.
Right, but, why did the Rockies sign him then? I’ll level with you: I don’t quite get it, which makes it very Rockies. They’re going to have him in the lineup every day, and probably mostly at third base. After all, he’s their biggest free agent signing in years! His defensive versatility isn’t particularly useful to them, given that Ezequiel Tovar and Brenton Doyle, the incumbent shortstop and center fielder respectively, are two of their best players. Adael Amador, a 22-year-old second baseman, is going to get a long look at the keystone. The outfield looks pretty platoon-y already even without Castro in the mix.
Now, is Castro going to be one of the best players on the team? Absolutely. He’s one of only four Rockies hitters we project for 1 WAR or more – things are pretty grim in Denver at the moment. But is he going to move the needle for them? I don’t see how. The whole promise of Castro is that he raises your floor, but the Rockies need ceiling. When you’re filling out the back half of your roster, Castro’s 1.4 WAR projection is mouth-watering. When you’re trying to find an everyday starter and offensive leader, it’s just not good enough.
I’m interested to see what direction the Rockies take under Paul DePodesta. For too long now, they’ve been doing the organizational version of milling about aimlessly, shuffling through next-big-thing prospects and adding fringe veterans who don’t really fit the rest of the room. That’s not how the rest of the league behaves. And while zigging when everyone else zags can be a fruitful strategy, you can’t zig directly into a ditch, yell “we’re different!,” and expect that to work. The Rockies spend, and they bring in the crowds, but they haven’t turned that into an internally consistent team-building strategy, and their rosters in recent years have clearly reflected it.
I expected DePodesta to shake things up, for better or worse. Signing Castro, though? That’s giving old-Rockies vibes. Is this all that different from signing Jurickson Profar three years ago? What about Kyle Farmer and Thairo Estrada last winter, or Jose Iglesias earlier in the decade? Sure, Castro is probably better than those guys were at the time of signing, but that’s a difference in degree, not in category.
I think this deal will probably work out, in the sense that Castro will be a valuable contributor to the Rockies. He pretty clearly makes their team better, and it’s not my money. But again, zigging where everyone else is zagging isn’t valuable per se; it’s only valuable if zagging is now underpriced. And the league’s wholesale abandonment of the middle class of free agent hitters – guys like Castro have been getting less and less in recent years, to the point where I’ve redone my free agent contract prediction model to account for it – appears to be a wise move from a team-building perspective. Why go to free agency for this kind of hitter when you can develop them?
I guess the joke is that the Rockies haven’t been able to develop them, and thus this is the next-best option, but that’s not a satisfying answer to me. Maybe they need guys like this in the transitional state to the glorious future the new front office envisions. Maybe I’m just way off the mark on how they’ll use Castro, and they have an innovative plan that will have me brushing egg off my face by midseason. Maybe they needed to sign a versatile hitter because they’re just so bursting with interesting prospects that they need backup plans at a number of positions, but don’t know which ones until they see how their young hitters adapt to the majors.
More likely, though, is that in a year, they’ll be madly shuffling things around to try to balance getting Castro’s 90 wRC+ in the lineup next to some new top prospects looking to break in. The good news is that at least that should be easy to do – he might be the most shuffleable bat in baseball. The bad news is – well, I’ve been delivering enough bad news in this article that I don’t feel the need to highlight even more. I like Castro’s game quite a bit, and I wish the current structure of the sport incentivized more good teams to sign guys like him. But it doesn’t, and here he is on the Rockies. Who could have predicted?
Ben is a writer at FanGraphs. He can be found on Bluesky @benclemens.
At this point I would want to give Kyle Karros more reps than Adael Amador.
Seems to me that the chance of at least one of Karros and Amador failing is very high. Having a guy who can cover both positions at a respectable level is helpful since by the end of the year he will be needed every day for at least one of them.
If I had to guess what is going to happen, I think they’re going to start with Amador in MLB because he is almost out of options and keep Karros in AAA. Then Amador is going to fail and going to get sent down or DFA’d, and Karros is going to get called up. Castro is useful at both of those times of the season.