Troubleshooting MicroVMspublic
Last verified 9 Oct 2026
DigitalOcean MicroVMs are lightweight virtual machines that run a container image in an isolated kernel, pause automatically when idle, and resume on the next request with memory, files, and processes intact.
The following sections describe common problems with DigitalOcean MicroVMs and how to resolve them.
A MicroVM Is in the Failed State
If a MicroVM is in the failed state, the failure_reason field in the API response explains why. doctl compute microvm get shows the same text under Failure Reason. Common causes are an image that cannot be pulled, a container that exits, and a VPC network that is in another region or belongs to another team.
You cannot recover a failed MicroVM. Destroy it and create a new one.
Requests Fail While the MicroVM Is Paused
If a request to the endpoint, a command, or a console fails while the MicroVM is paused, check whether auto-resume is off. If it is, resume the MicroVM manually. You cannot change auto-resume after creation.
The Console Fails with a Raw Mode Error
If doctl compute microvm console fails with raw mode: operation not supported by device, doctl is not running in an interactive terminal. Run the command from a terminal, not from a script or a pipe.
Opening a Console Returns HTTP 429
HTTP 429 when opening a console means the MicroVM already has four consoles open. A console whose client disconnected without closing it, for example because a laptop went to sleep, can hold its slot for a while before it closes. Close other consoles, or wait and try again.
A Command Does Not Return Until the Time Limit
If a command does not return until the 60-second limit, it probably started a background process that still holds its output open. Redirect the background process’s output, as shown in Run Longer Tasks.
Creating a MicroVM Returns HTTP 403
HTTP 403 on create means the token is missing a scope, or your team has reached its MicroVM limit. The limit counts both running and paused MicroVMs. To see your team’s limits, run doctl compute microvm options or send a GET request to /v2/microvms/options. To free up capacity, destroy MicroVMs you no longer need.