Our party infiltrated Ravenloft in a Curse of Strahd campaign. One of the party managed to steal a beholder eye from Strahd that he was using to control a group of beholders and use them as his minions. This allowed the beholders, who we previously communicated with, to attack and kill several of his brides and assist us in destroying Strahd's heart. We made it out safely (barely) and the session ended.
During the next session Strahd used a wish spell to revive the brides that were killed because he needed them for some ritual and rolled to also banish the beholders so they were never within Barovia in the first place using the wish. Strahd succeeded but can never use wish again, along with being weakened from its use. The player who managed to steal the eye is very upset with this and feels like their character's actions were overwritten unfairly.
I can see how this might be a little frustrating, but to me, making him waste his wish spell doing this is a success in and of itself. The player who did this also has a wish scroll themselves that they could use to try and counter what Strahd did if they really wanted to.
Is this the DM unfairly removing player agency, or a reasonable counter a BBEG like Strahd could do?
I've only been playing D&D for a short time (a few months), so maybe I just don't get it.