axilio CLI exposes phone control and platform operations to people,
shell scripts, and coding agents. Human-readable tables are the default. Most
commands also provide structured JSON output.
Install
- Homebrew
- Install script
- Windows (PowerShell)
- Release archive
On macOS, install the CLI with Homebrew:Homebrew also installs the manual. Read it with
man axilio.Sign in
Use browser authentication for an interactive terminal:AXILIO_API_KEY. See Authentication.
Inspect a phone from the terminal
List the dedicated phones available to allocate, start a session, inspect the screen, and save a screenshot:ph_123 with an ID returned by axilio phones list. The exported
AXILIO_SESSION selects the session for subsequent axilio phone commands.
Unlike an SDK context manager, the CLI session remains active until you stop
it, so always release the phone when you finish.
Explore a read-only task
Work out a mobile task one action at a time before turning it into an SDK script. This example opens X, searches foragentic infrastructure, and
scrolls through the first few Top results without changing the account.
Before you start
- Install the CLI above, run
axilio login, and verify the setup withaxilio doctor. - Use a dedicated phone where X is already installed and signed in.
- Make sure you are authorized to inspect the signed-in account. This guide does not post, follow, like, message, or change settings.
Start a session
List dedicated phones that can be allocated now, then start a session on one and select it for the current shell:ph_123 with an ID from the first command. Every following
axilio phone command uses AXILIO_SESSION automatically. In Bash or Zsh, the
cleanup trap releases the phone if a later command fails or you exit the shell.
PowerShell has no exit trap for an interactive session, so run cleanup
yourself when you finish. cleanup clears AXILIO_SESSION only after the stop
succeeds, so if a stop fails you can run it again.
The pre-existing demo below uses
axilio phones mine, which remains a valid
way to inspect all dedicated inventory. This guide uses axilio phones list
because it filters the result to phones that can be allocated immediately.--session or AXILIO_SESSION to select the one a phone
command should control.
Open X
Observe the launcher, open the app drawer, and tap X:observe reports a different screen size. The X tap
uses a semantic target because one is available.
Search
X opens on the home timeline, where search is an icon. Open the search screen, focus the field, enter the query, and submit it:observe verifies that X opened the Top results for the intended
query before you continue.
Scroll through the top results
Run these commands up to three times. Observe after each swipe so you can check the screen before continuing:Stop the session
Stop as soon as you finish. Keep the session ID for the recording, becausecleanup clears AXILIO_SESSION:
--wait polls while the recording is still processing. Without --out the
command prints the status and a short-lived URL instead. Or open
Sessions, select the
completed session, and use its recording when the status becomes ready.
Python, Go, and REST lookup options are documented in
Recordings.
Watch the demo
The original poster and recording still match the X interaction above. The inventory command shown in the recording is the supportedphones mine
variant described earlier.
Turn the exploration into code
Once the sequence is reliable, reproduce it with the Python or Go SDK. Keep semantic targets for taps, retain coordinate gestures only where the whole screen must move, observe after important transitions, and preserve guaranteed session cleanup.Command map
Run
axilio <command> --help for flags and examples. Run axilio help --html
to open the self-contained browser manual installed with the CLI.
Structured output
Use-o json for scripting:
axilio sessions trace <session-id> --follow -o jsonemits one object per frame and finishes with atrace_endsummary.axilio runs watch <run-id> -o jsonemits one object per frame and finishes with awatch_endsummary.
axilio sessions start --phone-id <id> --export emits a shell assignment, not
JSON. Bash and Zsh apply it with eval, PowerShell with Invoke-Expression.
On Windows it prints PowerShell syntax by default; --shell posix,
--shell powershell, or --shell cmd picks one explicitly. Progress, notes,
and prompts go to standard error so standard output remains usable by scripts.
Source
The CLI is open source at github.com/axilioai/cli. Homebrew packages are published through axilioai/homebrew-tap. The install scripts are install.sh and install.ps1.Next steps
SDK quickstart
Turn a proven CLI sequence into a Python or Go program.
Control reference
Compare CLI commands with the Python and Go driver methods.