On this page
CLI reference
Every command the binary accepts. drengr --help prints the same thing, and each subcommand takes --help of its own.
Getting running
| Command | What it does |
|---|---|
| drengr onboard | Guided setup: detects your environment, wires Drengr into your AI tools and shows it working. The best first command. |
| drengr demo | Zero-setup demo. An agent drives a system app on a connected device. Takes --app and --task to override. |
| drengr doctor | Health check for every dependency. --runner-status for a one-line summary, --yes to skip prompts in CI. |
| drengr setup --client <name> --write | Generate and write the MCP config for your client. --port sets the HTTP port for android-studio. |
| drengr devices | List connected devices and simulators. |
| drengr build-runner | Pre-build the iOS runner app that MCP mode needs. Run once after install and after any Xcode upgrade, from a real terminal. |
Serving agents
| Command | What it does |
|---|---|
| drengr mcp | Start the MCP server on stdio. This is the primary mode. --device, --format, --cloud, --http, --port. |
| drengr mcp --http --port 7878 | Serve over streamable HTTP for clients that cannot spawn a local server. Binds 127.0.0.1 only. |
| drengr sdk-server | Start only the SDK event server, without MCP. |
| drengr restart | Terminate other drengr processes on this machine. Run from a separate terminal; your MCP client spawns a fresh server on its next request. |
Driving a device yourself
| Command | What it does |
|---|---|
| drengr look | Screenshot plus numbered elements. No MCP and no key: the calling agent is the brain. The frame is written to ~/.drengr/cli/ so you can read it as a file rather than pull base64 through context. |
| drengr do <action> | One action: tap, type, swipe, long_press, key, back, home. No MCP, no key. |
| drengr query <topic> | Ask about setup, devices, activity, crash or connect. No MCP, no key. |
| drengr run --app <pkg> --task "..." | Run a task with the built-in OODA agent. Needs an LLM key. --max-steps, --format, --output, --cloud. |
| drengr explore --app <pkg> | Walk the app breadth-first and build a screen map at ~/.drengr/maps/. |
| drengr test <file.yml> | Run tests from YAML. Emits GitHub annotations and step outputs under Actions. `drengr ci` is an alias. |
| drengr annotate list | List the distinct request shapes your app makes. |
Account and machine
| Command | What it does |
|---|---|
| drengr login | Sign in to Drengr Pro or save a license key. |
| drengr key set <provider> <key> | Store an LLM provider key for standalone mode. Also `key list` and `key remove <provider>`. |
| drengr diag list | Diagnostic bundles saved on stuck or crashed runs. Also `diag show`, `diag share`, `diag forget`. |
| drengr update | Update to the latest version. --check reports without upgrading. |
| drengr uninstall | Remove the binary, ~/.drengr/, keychain entries and MCP client configs, and ask the server to forget this machine. |
LLM keys
Only needed for drengr run, which uses the built-in OODA agent. If you drive Actuator from an MCP client, that client's model does the reasoning and you can skip this entirely.
bash
drengr key set gemini YOUR_API_KEY| Provider | Notes |
|---|---|
| gemini | Google AI Studio (free tier available) |
| openai | OpenAI Platform |
| anthropic | Anthropic Console |
| groq | Groq Cloud (fast inference) |
| together | Together AI |
| fireworks | Fireworks AI |
| ollama | Local inference, no key needed |
Environment variables work too, and take priority over stored keys: GEMINI_API_KEY, OPENAI_API_KEY, ANTHROPIC_API_KEY and so on. Stored keys live in your system keychain, not in a dotfile. drengr key list masks them.
Uninstall
One command, and it removes the server-side record too rather than only the local files.
bash
drengr uninstalltext
Drengr Uninstall─────────────────────────────────The following will be removed:Binary: /usr/local/bin/drengrData: ~/.drengr/Keychain: license + LLM provider keysCloud: this machine's registration; usage records anonymizedConfig: drengr entry removed from claude_desktop_config.jsonContinue? [y/N] y✓ Cloud records for this machine removed✓ Removed keychain entries✓ Cleaned MCP config✓ Removed ~/.drengr/✓ Removed /usr/local/bin/drengr─────────────────────────────────Local uninstall complete.Restart your MCP client.The parts that are easy to get wrong
- Installed through npm? The command still clears data, keychain entries and MCP configs, then reminds you to run
npm uninstall -g drengrfor the wrapper itself. - Offline at the time? The machine record auto-deletes after 90 days of inactivity anyway. The command prints your machine id so you can request immediate erasure by email.
- A sign-in account, if you made one, is a separate thing and is deleted separately. Email [email protected].
What the binary sends while it is installed is on the overview.