Why does nREPL server shut down when idle?

What’s your setup in Windows? Do you use WSL at all?

With WSL I’ve had issues with disconnects. Are you using VSCode where it runs on Windows but nRepl runs in inside WSL for example?

Other then that, I’m not sure, could have something to do with how Calva starts the nRepl server on Windows.

You could try to start nRepl yourself with the command line, and connect to it, instead of having Calva start it for you.