Turns out I had an environment variable called TF_BUILD
which meant my computer had been identified as running on a CI server (even though it wasn't), and CI servers don't support user interactivity.
Removing this environment variable solved the problem.