Skip to content

Command catalog

CLI v3.0.2View Markdown

This reference is generated from Olef 3.0.2: 374 command entries across 39 groups. It is a release snapshot; your installed CLI is the authority for your version.

Use site search for a command, flag, or task. On your machine, ask the CLI directly:

Terminal window
olef --version
olef commands --json --depth 1
olef commands --json --describe "ui tap"
olef commands --search "breakpoint" --json
olef commands --guide debugger --json

For the response structure, read the output contract. For setup requirements, see capabilities.

Group What it does
olef app Application lifecycle, info, and install rituals
olef appops App-ops (allow|deny|ignore|default|… per operation)
olef cloud Olef Cloud (invite-only alpha): sign in, link this project, and run its commands on a cloud emulator (cloud login, cloud link, cloud status)
olef collect Gather a self-contained diagnostic bundle (doctor report, device info, recent logcat + crash buffer, and — if an existing server is reachable — screen dump, screenshot, current activity, app info) into a directory
olef commands Emit the full command catalog (machine-readable self-introspection for agents)
olef config Inspect, generate, and validate user/project JSON config
olef connect Install the server APK, start it, and verify (disables the stylus tutorial until disconnect)
olef debug Agent-first debug snapshots, timelines, replays, and debugger control
olef device Device & system controls (info, shell, power, orientation, clipboard, …)
olef devices List attached devices / emulators, or reserve billed remote ones. devices catalog|reserve|extend|release|leases manage remote devices (preview: Google Cloud Developer Device Platform)
olef disconnect Stop the server and remove the port forward
olef doctor Diagnose (and optionally repair) the host↔device pipe: device state, APK version, port forward, server reachability, UiAutomation owners
olef emulator List, boot and shut down Android emulators (AVDs)
olef evidence Correlate UI, network, video and projected application state
olef fault Put the device or app into a failure condition on purpose — process death, no network, full storage, a moved clock, failing backend calls — and undo it reliably. Start with fault kinds
olef feedback Report an Olef bug, missing capability, friction or doc mismatch: drafts locally, the user approves, then it becomes a GitHub issue
olef files On-device file operations
olef init Initialize host setup: install or update the Claude Code and Codex plugins (asks first) and the agent skill files
olef lab This machine as a device lab for Olef Cloud: lab register, lab add <serial|ip:port>, lab serve; leased as lab:<lab>/<device>
olef layout Agent-first layout snapshots and diffs
olef licenses Print the Olef License and the notices of the open-source components Olef includes
olef log Structured, bounded logcat: app-scoped JSON log lines with crash/ANR blocks parsed out, windowed (--last 60s) and deduplicated. Works without the on-device server
olef mcp Serve the Model Context Protocol over stdio for Claude Code: device control with dp coordinates and image screenshots, plus a live viewer for the Claude Desktop browser pane
olef net Network MITM proxy: enable, inspect, intercept, and modify HTTP(S) traffic
olef pane Serve the live, interactive device viewer (video, touch, keys) on a loopback URL until Ctrl-C; or read what the person annotated or recorded in a running viewer
olef perm Runtime permission grants
olef profile Device display profile (animations, font, density, size, rotation)
olef record Turn what was done in a session (an agent’s commands, a person’s viewer input) into a test folder: record save <name> cleans up the journal, writes a Bash script of one olef command per step, replays it once from a fresh start, and saves tests/olef/<name>/
olef runtime Attach and manage the in-process runtime in debuggable apps
olef session Reserve devices for drivers and provide passive observations to advisers
olef skill Generate, install, or refresh Agent Skills (claude-code / cursor / codex / gemini / antigravity) at user or project scope
olef test Run a command that needs the device’s single UiAutomation slot (instrumentation tests, uiautomator dump, android layout): disconnects Olef, runs the given command (stdio inherited), then reconnects (unless --no-reconnect). Exits with the command’s status
olef ui Live UI automation: dump, find, tap, type, and wait for screen state
olef update Check for a newer release and print the command that updates this install (Homebrew, Scoop or the installer). Never changes anything
olef usage Opt-in local usage log (verb + duration + error code per invocation; never argument values, never leaves this machine)
olef verify Plan verification and inspect test evidence with explicit coverage
olef video Screen-record a device into a timestamped, crash-safe evidence bundle
olef watch Watch the app timeline: UI changes, crashes, toasts, watchers, and network events when available
olef why One bounded triage read: what just went wrong? Fuses the last crash/ANR, recent error logs, the current screen, and network failures into a verdict with evidence and next steps

Global options apply across commands. Use olef --help to see the complete help for your installed release.

Option Description
--authority-dir Shared same-host ownership directory. All cooperating clients must use the same authority
--device ADB serial. Defaults to $OLEF_DEVICE / $ANDROID_SERIAL / sole attached device
--target Named project device target (for example mobile or tv). Resolves a configured stable AVD name or physical serial. An explicit –device takes precedence
--takeover Reassign an AVD target currently claimed by another project. This is an explicit isolation override and has no effect on direct –device use
--lock-timeout-ms Wait up to this many milliseconds for a device, lifecycle or named-AVD resolution lock held by another command. Use 0 to fail immediately. Default: 2000, or 15000 for read verbs (ui dump, ui wait, …) so parallel reads queue behind a running command
--server-apk Olef’s own device server from a local build, instead of the release’s (not your app’s APK): the server’s test APK (app-debug-androidTest.apk, with the main APK found beside it), or a directory holding both. --apk and $OLEF_APK still work
--any-apk-version Skip the version check when installing — assume any provided/discovered APK is the right one. Implied by –server-apk; you only need this explicitly to override the cached download flow during local development without it
--project-root Path to an app’s source project (Gradle root). Maps layout nodes and debugger locations to files and is surfaced by doctor. Defaults to the project field in config
--quiet Silence Olef’s own operational logs (the tracing lines written to stderr) so command output on stdout stays clean — handy when piping with 2>&1 or for the tidiest agent output. Real errors are still reported, and an explicit RUST_LOG still takes precedence
--redact Redact common secrets, PII, identifiers, and configured patterns from supported JSON/text output and diagnostic artifacts. Video applies it to marker labels; recovery identifiers and MP4 pixels remain sensitive

Place these root options before the command, for example olef --session-file session.token ui dump.

Option Description
--session Driver token returned by session open or handoff; required for a reserved device. Pass it before the subcommand (olef --session TOKEN ui dump)
--session-file Read the driver token from a private file created by session open/handoff –token-out

Download the command catalog JSON, shared metadata, or the documentation index. Use olef commands <path> --json --full for full invocation contracts and argument constraints.