---
# @generated by sylphx-gen. Do not edit.
title: "DEVICE_LOST"
description: "DEVICE_LOST (FAILED_PRECONDITION, HTTP 409): The Android device is no longer online."
type: reference
product: platform
summary: "The Android device is no longer online."
updated: 2026-09-28
nav: false
---

The Android device is no longer online. The lease retains its machine and files until release or expiry. No new device action or execution was dispatched.

**HTTP** 409 · **gRPC** `FAILED_PRECONDITION` · [the error body](/docs/platform/errors)

## Returned by

| Method | Scope | What it does |
| --- | --- | --- |
| [`sandboxes.leases.exec`](/docs/api/leases/exec) | `sandboxes:exec` | Dispatches one command at most once per lease and execution key. Each HTTP response waits at most 20 seconds: repeat the exact request and key after IDEMPOTENCY_IN_PROGRESS, honoring Retry-After, until the recorded result or a terminal error arrives. Pending observations do not consume the client's transient-error retry budget. Disconnect only stops waiting. Results (capped at 1 MiB per stream) remain replayable after lease expiry. An unknown outcome is never dispatched again. Interactive processes use the guest protocol at `status.endpoints.guest_uri`. |
| [`sandboxes.leases.act`](/docs/api/leases/act) | `sandboxes:exec` | Performs computer actions on a DESKTOP, BROWSER, or ANDROID lease, in order, and returns each action's result and, when `screenshot` is set, the screenshot taken after the last action. The actions are the Anthropic computer tool's and OpenAI computer use's, one-to-one. Refused CONTROL_HELD_BY_HUMAN while a human holds control. |
| [`sandboxes.leases.open_stream`](/docs/api/leases/open_stream) | `sandboxes:exec` | Opens a read-only live view of a lease's display: a short-lived viewer token bound to the lease and its generation, an embeddable URL, and the WebRTC signaling endpoint with ICE servers. Input needs control (AcquireLeaseControl). |
| [`sandboxes.leases.acquire_control`](/docs/api/leases/acquire_control) | `sandboxes:exec` | Takes exclusive input control of a lease's display. A HUMAN acquire preempts an AGENT holder and returns a controller stream; an AGENT acquire is refused CONTROL_HELD_BY_HUMAN while a human holds control. Control lapses at `ttl`, which the platform caps at 30 minutes. |
| [`sandboxes.leases.install_app`](/docs/api/leases/install_app) | `sandboxes:exec` | Installs an Android app (APK) on an ANDROID lease. |
