Android devices
Phones, tablets and TVs that adb sees on the server machine are available not only to the agent but to you as well — through the "Devices" screen. Install a build, look at the screen, tap, read the log — without a terminal and without a cable to the computer you're sitting at.
It opens with the phone icon on the home screen (on a narrow screen it moves under "⋮"), from the command palette in the app, and on Android. Owner only.
What's on the screen
- The device list — what
adbsees: the model, cable or network, the state. "Allow debugging on its screen" means the device is waiting for confirmation on its side. - A screenshot. A tap on the screenshot is a tap on the device, a drag is a swipe. "Follow" refreshes the screenshot every couple of seconds while the screen is open.
- Buttons Back, Home, Recents, power and volume.
- Text input — the line goes into whatever field has focus on the device.
- The log — the tail of
logcatfiltered by tag and level. "Follow" turns on the live log: new lines arrive by themselves, with the same filter; close the screen andadbon the server stops. - Installing an APK — the file is picked on the device you're looking from: in the browser or on the phone. There's no need to move the build to the server machine first.
What the machine needs
adb from the Android platform-tools. Clauder finds it on its own — in the ADB_PATH variable, in the usual SDK locations and on PATH. If it isn't found, it says exactly that — adb was not found — rather than "no devices".
In docker
The api container talks to the Windows host's adb server (ADB_SERVER_SOCKET in docker-compose.yml), where the phone and the TV are already authorised — devices show up without manual forwarding. It takes effect after the container is recreated (docker compose up -d api). A different adb server address goes into the same variable in .env.
Why owner only
adb installs and removes apps, reads the screen, types on the person's behalf and pulls files. That is more than the terminal, and there is nothing to slice it by project scope — a device has no "key folders". So a scoped key and a read-only key don't see the screen at all.
And the agent?
The agent gets the same moves as tools: install an APK, launch an app, take the log, a screenshot (it shows it as an image right in the conversation), tap. They appear in the chat by themselves if the machine has adb — no more asking the agent "tell me the adb command", it does it itself.