---
source_url: "https://maestro.dev/blog/maestro-cli-2-4-0"
title: "CLI 2.4.0: iOS 26 and more devices on Maestro Cloud"
mirrored_at: 2026-08-04T01:31:43.411Z
host: maestro.dev
cited_in_42a: true
mirror_canonical: "https://index.42a.ai/maestro.dev/blog/maestro-cli-2-4-0"
---

> **Original source:** https://maestro.dev/blog/maestro-cli-2-4-0

Support for iOS 26 is now available. `--device-os=iOS-26` works both locally and on Cloud. Use `--device-os=iOS-26-2` if you need a specific build. The iOS device catalog also got a significant expansion. iPhone 13 Mini and iPhone 16 Pro Max are in - two of the most requested models. Run `maestro list-cloud-devices --platform=ios` to see the full list.

* * *

## Know exactly which devices are available

Two new CLI commands return the exact values to pass into your flags. No more cross-referencing docs or guessing formats.

```
maestro list-devices
```

![](https://maestro.dev/_astro/a33af7746d-screenshot-2026-03-19-at-11-22-58-am.CSNlasn7_2bmckh.webp)

```
maestro list-cloud-devices
```

![](https://maestro.dev/_astro/481879f6ff-screenshot-2026-03-19-at-11-23-27-am.B_hlvWaV_Z1qh0Ld.webp)

* * *

## Flag cleanup in maestro start-device

`--os-version` , `--android-api-level` , and `--ios-version` are deprecated. From now on, `--device-model` and `--device-os` are the only device-related flags you need, in `maestro start-device` and in `maestro cloud` . Same flags, same format, same values you get from `maestro list-devices` . If you use the list commands to pick your device, the output is already in the right format to paste directly into your command.

* * *

## New —device-os format

The flag now accepts strings instead of integers, matching the format `xcrun` and `avd` already use.

**Before** `--device-os=17` `--device-os=34`

**After** `--device-os=iOS-17-5` `--device-os=android-34`

If you want the latest available patch for a given major version, you can omit the minor version entirely. For example, `--device-os=iOS-18` will resolve to whatever the latest iOS 18 build is on that device. The same applies to Android: -`-device-os=android-34` resolves to the latest available build for API level 34.

The old integer format still works for now. Support ends in the next release.

* * *

## Also in this release

-   Web tests (Beta) now support iframes and `clearState`
-   Faster feedback on `maestro cloud` uploads - more validation runs locally before hitting the network
-   Better error messages when `startRecording` fails on iOS
-   `setOrientation` now accepts variables as input
-   Fixed `inputText` crashing on iOS pincode screens
-   Fixed a websocket timeout that was set to 5000 seconds instead of 5000ms :)
-   Fixed step ordering in the HTML test report
-   Improved timeouts across all API calls, which helps with Maestro Cloud uploads
-   Improved variable isolation and reduced memory usage in JavaScript evaluations
-   Deprecation notice added to the legacy web-based Studio

* * *

## Update to 2.4.0

**macOS / Linux:**

```
curl -fsSL "https://get.maestro.mobile.dev" | bash
```

**Homebrew:**

```
brew update
brew upgrade mobile-dev-inc/tap/maestro
```