GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • ← axe-cli.com
  • Docs
  • Commands
  • Changelog
  • GitHub ↗

This view

  • Original page
  • New address

GeezerVison is showing www.axe-cli.com — AXe Docs

Docs

AXe documentation

AXe is a command-line tool that automates iOS simulators, including the dual-screen iPhone Duo simulator, and connected iPhones and iPads. It reads the accessibility tree, sends taps, typing, gestures and hardware buttons, captures screenshots and video, and changes device settings. Agent mode gives AI agents checked, stateful control of the UI.

AXe 2macOS 14+Xcode 26 and 27MIT licensed

What AXe does#

AXe is one binary you install with Homebrew. Every command names its target with --udid, and the same commands work on a simulator, an iPhone Duo simulator and a paired iPhone or iPad. Use it from a terminal, a shell script, a CI job or an AI agent.

Read

Inspect the UI

describe-ui prints the accessibility tree as JSON, or the element at one point. Agent mode returns compact rows with a ref for each control.

Act

Tap, type, swipe and draw

Tap by point or by --id, --label or --value, long press, double tap, scroll until an element appears, pinch, rotate, drag, draw and type.

Capture

Screenshots and video

Save PNGs, record H.264 MP4s, stream MJPEG, JPEG or BGRA frames, and native H.264 from a physical device.

Configure

Change device settings

Set dark mode, text size, accessibility display settings, VoiceOver, a simulated location and the simulator status bar.

Devices

Simulators and hardware

Automate connected iPhones and iPads, and every screen, fold and orientation of the iPhone Duo simulator.

Agents

Built for AI agents

--agent checks every action against the screen the agent saw and returns the settled screen. The AXe skill teaches agents to use it.

A first session#

shell
axe list-simulators                       # find a booted simulator's UDID
export UDID=<UDID>
axe describe-ui --udid "$UDID"            # accessibility tree as JSON
axe tap --label "Continue" --udid "$UDID"
axe type 'Hello world' --udid "$UDID"
axe screenshot --udid "$UDID" --output screen.png

For a physical device, use axe list-devices and axe doctor instead of list-simulators; the rest is the same. See Physical iPhone & iPad.

Coordinates are points, not pixels

Coordinates are logical points in the current orientation, the units axe displays reports. A screenshot contains pixels. AXe handles rotation and letterboxing for you.

Two ways to drive the UI#

RouteUse it forHow it works
Plain commandsScripts, CI and known flowsSend input by point or selector. Fast and simple; you check the result with a separate read.
Agent mode (--agent)AI agents and flows that must not hit the wrong controlCapture the screen as rows with refs, act on a ref, and get the settled screen back. AXe refuses input if the control changed.

Read Agent Mode before connecting an AI agent to AXe, and install the AI skill so the agent knows the workflow.

Where to go next#

  • What's New in AXe 2
  • Installation
  • Quick Start
  • Command Reference
  • Output & Errors
Next →
What's New in AXe 2
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.