[frontend] Handle messages correctly in run's deferred.