A computer-implemented method comprising: transmitting, by a client computing device and via a network connection, a request to a Program Execution Service to access a virtual desktop instance; receiving, by the client computing device and via the network connection, access to the virtual desktop instance; determining by the client computing device that the network connection is likely to be interrupted based at least in part on a degradation in the network bandwidth; sending, by the client computing device, a request to the PES to enter a disconnected mode; receiving, by the client computing device and via the network connection, subsequent to determining that the network connection is likely to be interrupted, at least a portion of user content and at least a portion of a desktop profile for the user in a data store maintained by the PES, and storing the at least a portion of the user content and the at least a portion of a desktop profile for the user in a local data store; launching, by a virtual desktop monitoring module of the client computing device, subsequent to determining that the network connection is likely to be interrupted, a local virtual desktop instance running an operating system, based on a local image of the operating system, wherein the operating system running in the local desktop instance is configured according to the desktop profile for the user; attaching, by the virtual desktop monitoring module of the client computing device, the local data store to the local virtual desktop instance, wherein input/output operations relating to user content are redirected to the local data store attached to the local virtual desktop instance; and determining, by the client computing device, that the network connection is restored; transmitting, by the client computing device and via the network connection, subsequent to determining that the network connection is restored, a request to the PES to synchronize the copy of the local data store with the data store maintained by the PES. transmitting, by a client computing device and via a network connection, a request to a Program Execution Service to access a virtual desktop instance; receiving, by the client computing device and via the network connection, access to the virtual desktop instance; determining by the client computing device that the network connection is likely to be interrupted based at least in part on a degradation in the network bandwidth; sending, by the client computing device, a request to the PES to enter a disconnected mode; receiving, by the client computing device and via the network connection, subsequent to determining that the network connection is likely to be interrupted, at least a portion of user content and at least a portion of a desktop profile for the user in a data store maintained by the PES, and storing the at least a portion of the user content and the at least a portion of a desktop profile for the user in a local data store; launching, by a virtual desktop monitoring module of the client computing device, subsequent to determining that the network connection is likely to be interrupted, a local virtual desktop instance running an operating system, based on a local image of the operating system, wherein the operating system running in the local desktop instance is configured according to the desktop profile for the user; attaching, by the virtual desktop monitoring module of the client computing device, the local data store to the local virtual desktop instance, wherein input/output operations relating to user content are redirected to the local data store attached to the local virtual desktop instance; and determining, by the client computing device, that the network connection is restored; transmitting, by the client computing device and via the network connection, subsequent to determining that the network connection is restored, a request to the PES to synchronize the copy of the local data store with the data store maintained by the PES.