I would be in favor of changing the default to model_diff(..., .viewer = interactive()), slightly tweaking the docs, and leave it at that. I don't feel strongly about this, and it may not be worth the tiny change, but I do think it would be better UX in most cases. And I can't think of anything that it would break.
Side note: The main thing we don't want is .viewer = TRUE being triggered when knitting an Rmd, because that hangs the whole thing because of the "press Enter" issue. I don't think this would cause that problem though. It may cause problems when interactively running Rmd chunks, but we would just need to check on that.
This tracks a potential change brought up in https://github.com/metrumresearchgroup/bbr/issues/586#issuecomment-1452381645.
@seth127: