Henry Cavill left The Witcher because he chose to pursue other acting projects and commitments, and the producers didn’t want to hold him back from those plans. The showrunner explained that Cavill wanted to move on to different roles, and the decision was made as a mutual, respectful parting rather than a conflict-driven firing. Cavill’s exit led to Liam Hemsworth taking over the role of Geralt for the remaining seasons of the series.
