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

Getting running commands
CommandWhat it does
drengr onboardGuided setup: detects your environment, wires Drengr into your AI tools and shows it working. The best first command.
drengr demoZero-setup demo. An agent drives a system app on a connected device. Takes --app and --task to override.
drengr doctorHealth check for every dependency. --runner-status for a one-line summary, --yes to skip prompts in CI.
drengr setup --client <name> --writeGenerate and write the MCP config for your client. --port sets the HTTP port for android-studio.
drengr devicesList connected devices and simulators.
drengr build-runnerPre-build the iOS runner app that MCP mode needs. Run once after install and after any Xcode upgrade, from a real terminal.

Serving agents

Serving agents commands
CommandWhat it does
drengr mcpStart the MCP server on stdio. This is the primary mode. --device, --format, --cloud, --http, --port.
drengr mcp --http --port 7878Serve over streamable HTTP for clients that cannot spawn a local server. Binds 127.0.0.1 only.
drengr sdk-serverStart only the SDK event server, without MCP.
drengr restartTerminate 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

Driving a device yourself commands
CommandWhat it does
drengr lookScreenshot 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 listList the distinct request shapes your app makes.

Account and machine

Account and machine commands
CommandWhat it does
drengr loginSign 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 listDiagnostic bundles saved on stuck or crashed runs. Also `diag show`, `diag share`, `diag forget`.
drengr updateUpdate to the latest version. --check reports without upgrading.
drengr uninstallRemove 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
Supported LLM providers for standalone mode
ProviderNotes
geminiGoogle AI Studio (free tier available)
openaiOpenAI Platform
anthropicAnthropic Console
groqGroq Cloud (fast inference)
togetherTogether AI
fireworksFireworks AI
ollamaLocal 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 uninstall
text
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 drengr for 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.