We present an estimation and forecasting method, based on a differential evolution MCMC method, for inference in GARCH models subjected to an unknown number of structural breaks at unknown dates. We treat break dates as parameters and determine the number of breaks by computing the marginal likelihoods of competing models. We allow for both recurrent and non-recurrent (change-point) regime specifications. We illustrate the estimation method through simulations and apply it to seven financial time series of daily returns. We find structural breaks in the volatility dynamics of all series and recurrent regimes in nearly all series. Finally, we carry out a forecasting exercise to evaluate the usefulness of structural break models.