Don't automatically terminate the shell without warning
Deploying complex ARM templates, or jobs that encounter error conditions after timeout can take longer than 20 minutes. Please extend the shell timeout and provide a warning message prior to termination that will allow you to keep the session active. It's incredibly frustrating to be running a job that prevents interaction with the shell, then part way through the job, the session terminates without any warning. All history of the job is lost and there is no log stored anywhere, so you can't track down the error.