• Tech Dev NotesTech Dev Notes
Apps
  • Lookup
  • Compare
Market movement
  • Charts
  • Rankings
Visual proof
  • Screens
  • Store listings
  • Icons
Stacks and releases
  • Tech stacks
  • Tool releases
  • Developers
More
  • X feature flags
  • Grokipedia
  • Grok companions
  • Blog
  • Follow on X
Skip to content

© 2026 Tech Dev Notes

RSSAboutAPIPrivacyTermsSitemap@techdevnotes
Maestro CLI

· CLI

Maestro CLI 2.7.0

2.6.1→2.7.0·July 20, 2026 at 5:05 PM UTC

Minor release: leaner per-flow artifact bundles with step screenshots, a new describe_cloud_run MCP tool, first-party Android Unicode input, and a wide set of platform and CLI fixes. maestro chat is discontinued in favor of Maestro MCP.

Changelog

  • [changed] Per-flow artifacts are now a leaner flat bundle with a structured manifest, readable step names, device logs, and crash/ANR reports
  • [new] A screenshot is captured before every step and paired with the view hierarchy on failure for easier debugging
  • [new] First-party Unicode input on Android
  • [changed] Longer Android screen recordings via the extended screenrecord entry point
  • [changed] Errors from launchApp, setPermissions, and clearState are surfaced instead of swallowed
  • [fix] Element bounds reported in non-standard formats are parsed correctly, preventing selector and tap failures
  • [fix] disableAnsi=false is honored so ANSI output is no longer suppressed
  • [fix] Jansi upgrade fixes terminal warnings and errors
  • [fix] maestro.log is captured even when the host disables logging additivity
  • [fix] Archiving debug logs failing at the end of a run no longer crashes the CLI
  • [fix] AI HTML report filename is correct when a flow name contains a slash
  • [removed] maestro chat is discontinued; use Maestro MCP instead

MCP & agents

  • [new] describe_cloud_run — inspect status and results of a Maestro Cloud run by per-flow run_id (status, failure reason, device spec, timing, and signed artifact URLs; optional whole-run archive via include_archive)

Platforms

Android

  • [new] First-party Unicode input support
  • [changed] Extended screenrecord entry point for longer recordings
  • [fix] Stalled WebView DevTools endpoint no longer hangs a command
  • [fix] Native (SIGSEGV) crashes are detected, not only JVM ones

iOS

  • [fix] Taps after scrollUntilVisible no longer land on the wrong position
  • [changed] Faster hierarchy retrieval via direct snapshot traversal
  • [fix] Home screen hierarchy on iPad (iOS 26) falls back to SpringBoard
  • [fix] False app-crash errors when launching apps avoided
  • [fix] Timeout handling when stopping and starting apps
  • [fix] Upside-down orientation
  • [changed] Device locale set with region-qualified language tags
  • [fix] Leftover driver files on simulators cleaned up after runs
  • [fix] Transient kAXErrorInvalidUIElement errors during hierarchy retrieval recovered
  • [fix] Crash reports waited on before collection
  • [fix] Simulator recording duration matches the actual movie duration

Web

  • [fix] CSS selector matching failure
  • [changed] id: selectors resolve against Flutter’s flt-semantics-identifier
  • [fix] Broken screen recorder no longer breaks hierarchy retrieval
  • [fix] Transient JavaScript errors are retried
  • [changed] Fail fast when the driver lacks DevTools; drop empty recording placeholders

Under the hood

Hierarchy and crash-collection paths on iOS are more resilient (direct snapshot traversal, SpringBoard fallback, crash-report wait). Android gains dedicated Unicode IME/receiver support and logcat-based native crash detection. Artifact generation is centralized around a structured manifest and flatter on-disk layout. Temp-file lifecycle guidance for agents/long-lived JVMs prefers TempFileHandler so /tmp does not leak.

Upgrade notes

  • maestro chat no longer runs MaestroGPT. Existing invocations print a discontinuation message and point at Maestro MCP (https://docs.maestro.dev/get-started/maestro-mcp). Scripted --ask usage exits non-zero.
  • Per-flow artifact layout changed: expect a flat bundle with manifest.json (and related outputs) rather than the previous shape. --test-output-dir is the directory for that run’s artifacts (manifest, commands, logs, screenshots, recordings).
  • Flows that depended on launchApp, setPermissions, or clearState failing silently may now fail loudly — fix the underlying error or handle it explicitly.
Older release← 2.6.1
All Maestro CLI releases →