I can reproduce this concern within PowerShell ISE which hangs for the user prompts to enter email or an api key.
This may be due to how ISE is primarily designed around scripting, or possibly how ISE is running the bw.exe when it expects a user prompt during bw login
Possibly check out the --nointeractionoption, or you could possibly pass the --session key as an environment variable.
PowerShell ISE also appears to work with bw login using an API key which typically also requires user interaction and a prompt for the API keys client_id and client_secret
However these can also be passed as environment variables in which case bw login --apikey will work as expected in ISE.