CLI · Open source · MIT
v0.15.0Conductor
Give Claude hands. Let it drive your app.
A token-efficient CLI for mobile and web UI testing, built for AI agents. A TypeScript reimplementation and partial fork of Maestro that bundles its own native drivers — no external CLI, no setup friction, no nonsense.
Install
npm install -g @houwert/conductorThat's it. Conductor is a pure CLI — no Claude Code plugin or skill is registered. Wire it into your agent through a custom CLAUDE.md, a project skill, or a slash command.
Built for agents
Output is short and human-readable by default; opt into --json when you need machine-parseable results. Designed to be cheap on tokens.
iOS, Android, and web
Drive iOS simulators, Android emulators, and Playwright-controlled browsers through one CLI. Same commands, three platforms.
Inspect and assert
Read the live view hierarchy with accessibility metadata, take screenshots, and assert visibility — all without writing flow YAML.
Multi-device parallel testing
Run flows on every booted device at once with run-parallel, or hand each agent its own device through a shared pool with file-based locking.
Drivers bundled
No Maestro CLI, no extra setup. Native iOS, Android, and web drivers are downloaded on first use into ~/.conductor/drivers — and Argus ships its own copy out of the box.
Logs out of the box
Stream React Native Metro logs, native simctl/logcat output, or browser console events with a single conductor logs command.
- v0.15.0
Highlights
- `conductor start-device --platform android` can now auto-create an AVD when one
Fixes
- Fix Android foreground-app detection on API 29+. The `dumpsys activity activities` regex only matched the legacy `mResumedActivity:` label; modern Android prints `ResumedActivity:` / `topResumedActivity=`, causing `conductor foreground-app` to fail with "Could not determine foreground app" and `conductor memory` (without an explicit app id) to silently fall back to system-only output. The regex now matches all three forms. As a side fix, `conductor memory` no longer requires the gRPC driver daemon to be running just to resolve the foreground app — it queries adb directly — and emits a clear note when no app can be resolved.
- v0.14.0
Highlights
- Expand `conductor memory` into a real cross-platform memory debugger.
Fixes
- Fix `list-devices` and `start-device` missing Android AVDs when the SDK isn't on PATH. Conductor now resolves `emulator`, `adb`, `avdmanager`, and `sdkmanager` from `ANDROID_HOME`/`ANDROID_SDK_ROOT` and the OS-default install locations (e.g. `~/Library/Android/sdk`), and surfaces a warning when `emulator -list-avds` fails so the failure isn't silent.
- v0.13.1
Fixes
- Fix conductor memory using stale session appId