Limitations of Azure Cloud Shell

Azure Cloud Shell has the following known limitations:

General limitations

System state and persistence

The machine that provides your Cloud Shell session is temporary, and it is recycled after your session is inactive for 20 minutes. Cloud Shell requires an Azure file share to be mounted. As a result, your subscription must be able to set up storage resources to access Cloud Shell. Other considerations include:

  • With mounted storage, only modifications within the $Home directory are persisted.
  • Azure file shares can be mounted only from within your assigned region.
    • In Bash, run env to find your region set as ACC_LOCATION.

Browser support

Cloud Shell supports the latest versions of Microsoft Edge, Microsoft Internet Explorer, Google Chrome, Mozilla Firefox, and Apple Safari. Safari in private mode is not supported.

Copy and paste

  • Windows: Ctrl-c to copy is supported but use Shift-insert to paste.
    • FireFox/IE may not support clipboard permissions properly.
  • Mac OS: Cmd-c to copy and Cmd-v to paste.

For a given user, only one shell can be active

Users can only launch one type of shell at a time, either Bash or PowerShell. However, you may have multiple instances of Bash or PowerShell running at one time. Swapping between Bash or PowerShell causes Cloud Shell to restart, which terminates existing sessions.

Usage limits

Cloud Shell is intended for interactive use cases. As a result, any long-running non-interactive sessions are ended without warning.

Bash limitations

User permissions

Permissions are set as regular users without sudo access. Any installation outside your $Home directory is not persisted.

Editing .bashrc

Take caution when editing .bashrc, doing so can cause unexpected errors in Cloud Shell.

PowerShell limitations

AzureAD module name

The AzureAD module name is currently AzureAD.Standard.Preview, the module provides the same functionality.

SqlServer module functionality

The SqlServer module included in Cloud Shell has only prerelease support for PowerShell Core. In particular, Invoke-SqlCmd is not available yet.

Default file location when created from Azure drive:

Using PowerShell cmdlets, users can not create files under the Azure drive. When users create new files using other tools, such as vim or nano, the files are saved to the $HOME by default.

GUI applications are not supported

If the user runs a command that would create a Windows dialog box, such as Connect-AzureAD or Connect-AzureRmAccount, one sees an error message such as: Unable to load DLL 'IEFRAME.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E).

Tab completion crashes PSReadline

If the user's EditMode in PSReadline is set to Emacs, the user tries to display all possibilities via tab completion, and the window size is too small to display all the possibilities, PSReadline will crash.

Large Gap after displaying progress bar

If the user performs an action that displays a progress bar, such a tab completing while in the Azure: drive, then it is possible that the cursor is not set properly and a gap appears where the progress bar was previously.

Random characters appear inline

The cursor position sequence codes, for example 5;13R, can appear in the user input. The characters can be manually removed.

Next steps

Troubleshooting Cloud Shell
Quickstart for Bash
Quickstart for PowerShell