Get started: Android · Playground · ChatGPT subscription
These are the setup steps for Midscene on Android with Playground and a ChatGPT subscription. To choose another combination, change the answers below or see all setup paths.
Step 1
Connect the Android device
Midscene uses adb on your computer to communicate with the target Android device over either USB or wireless adb. If adb is already installed and your device is connected, skip directly to Verify the device connection.
Install adb
- Install
adbvia Android Studio or the standalone Android command-line tools. - Run the following command to verify the installation:
Output similar to the following confirms a working installation:
- Configure the
ANDROID_HOMEenvironment variable as described in Android environment variables, then check that it takes effect:
The output should point to your local Android SDK directory, for example:
Enable debugging and connect the device
The steps below use a USB connection as an example. If your device is already connected over wireless adb, you can keep using that connection.
- In your phone's Developer options, enable USB debugging (and USB debugging (Security settings) if available, so Midscene can inject touch events).
- Connect the phone to your computer using a USB cable that supports data transfer.
- Keep the phone unlocked and accept the Allow USB debugging prompt on the screen.

Verify the device connection
Run the following command to check the connection status:
When the device status shows device, the connection is ready:
If multiple devices are connected, note the device ID in the first column (such as s4ey59 above) so you can select the target device in Playground or your project configuration.
If the target device does not appear with the device status, check the following:
- Empty list: For USB, check the data cable (ensure it is not charge-only), USB connection mode, and USB debugging toggle; for wireless
adb, check the network andadb connectstatus. unauthorized: Unlock the phone screen and accept the Allow USB debugging prompt on the device.offline: Reconnect the USB cable or wirelessadbsession, and restartadbif needed. Proceed only after the status showsdevice.
Step 2
Sign in with your ChatGPT subscription
The login command needs Node.js ^20.19.0 || ^22.12.0 || >=24.0.0 and pnpm. Check that node -v works in your terminal. If pnpm is not installed yet, run npm install -g pnpm.
First, run the following command in your terminal:
Follow the terminal instructions to sign in to ChatGPT in your browser and authorize plan usage. You can choose a name for your Agent during authorization. Once authorized, the Agent appears on your ChatGPT usage page.
The command saves credentials to ~/.midscene/siwc.json. Complete this sign-in manually before first use.
Playground reads the credentials saved by this command. Keep the following lines at hand. You will paste them into Playground settings in a later step:
Available models depend on your ChatGPT account. For credentials and usage, see Use a ChatGPT subscription.
Step 3
Launch Playground
Make sure Node.js (^20.19.0 || ^22.12.0 || >=24.0.0) is installed and node -v works in your terminal. The command below uses pnpm. If it is not installed yet, run npm install -g pnpm.
- Start the Android Playground CLI:
- In the Playground window that opens, click the gear icon in the top-right corner, paste your model configuration, and save.

- If your browser does not open automatically, visit the local Playground URL printed in the terminal, and keep the terminal process running.
- In the connection panel on the left, select your target ADB device and create the Agent (if multiple devices are connected, match the device ID against
adb devices -l). - Confirm that the preview area displays your phone's current screen. If no screen appears, check the
adbconnection and screenshot permissions first.
Step 4
Run an action and verify the result
On your Android device, open the browser app and complete any first-run prompts. Enter the following TodoMVC URL in the address bar:
Keep the device unlocked with the browser in the foreground.
- In Playground, select
aiAct, enter the following instruction, and run it:
- Once the completed todo item appears on the page, switch to
aiAssert, enter the following assertion, and run it:
-
Confirm that the assertion passes and inspect the step-by-step screenshots in the results panel. At this point, device connectivity, screen capture, touch input, and model calls have all been verified together.
-
(Optional) Switch to
aiQuery, enter the following query, and run it:
The result contains each todo item's name and completion status. aiQuery extracts data from the current UI without changing the page.
If execution fails, check the failed step and error message: for missing screenshots or unresponsive touch input, see the FAQ; for model request errors, see Verify model connectivity.
After verification, delete the "Try Midscene" item in TodoMVC. If you plan to run the Midscene Test Android example next, switch to the All filter and make sure the list is completely empty (including completed items), as the example template checks for an empty list before running and does not overwrite existing items.
Step 5
Next steps
- Explore more examples: Showcases includes demo videos and full execution reports across platforms.
- Write repeatable cases: Create a Midscene Test project with the same platform and model. Cases are YAML files that you can run locally or in CI.
- Add to Vitest: Call Midscene from your Vitest tests with the same platform and model.
- Learn how Midscene works: The Basics explains the vision-based approach and when to use
aiAct, instant actions, and insight APIs.
Want to try another platform or way to use Midscene? Back to top to change your selections.

