---
title: Troubleshooting MicroVMs (public)
description: Causes and fixes for failed MicroVMs, requests that fail while paused, console errors, slow commands, and HTTP 403 on create.
product: Microvms
url: https://docs.digitalocean.com/products/microvms/reference/troubleshooting/
last_updated: "2026-10-09"
---

> **For AI agents:** The documentation index is at [https://docs.digitalocean.com/llms.txt](https://docs.digitalocean.com/llms.txt). Markdown versions of pages use the same URL with `index.html.md` in place of the HTML page (for example, append `index.html.md` to the directory path instead of opening the HTML document).

# Troubleshooting MicroVMs (public)

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](https://docs.digitalocean.com/products/microvms/how-to/destroy/index.html.md) 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](https://docs.digitalocean.com/products/microvms/how-to/pause-resume/index.html.md). 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](https://docs.digitalocean.com/products/microvms/how-to/run-commands/index.html.md#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](https://docs.digitalocean.com/products/microvms/how-to/destroy/index.html.md) you no longer need.