Watchr gives Claude Code hands and eyes inside any iOS, Android, or web app. Tell it what to test in plain English — it taps, types, scrolls, watches the network, finds bugs, and reports back. No scripts. No selectors.
you › Launch the app, sign up with a new email, audit accessibility on every screen, and flag anything slow or crashing. watchr › booting iPhone 15 simulator… launching com.acme.app watchr › walking onboarding: Welcome → Email → Verify → Home (5 screens) ✓ sign-up flow completed, no crashes ⚠ "Continue" button on Verify screen has no accessibility label ⚠ Home feed took 3.8s to stabilize (>3s threshold) ✓ report + screenshots saved
It's the difference between writing a test suite and asking a teammate to go test something. You direct it in a sentence; it does the clicking, watching, and reporting.
No Appium, no XCUITest boilerplate, no brittle selectors. Describe the flow; Watchr figures out the taps.
The same commands run on iOS, Android, and web. Watchr auto-detects what's connected and speaks the right dialect.
Screenshots at every step, a narrated report at the end — not just a red/green dot.
Write the test once, conceptually. Switching platform is one parameter — or nothing at all, since it auto-detects what's connected.
Watchr is built to explore and investigate, not only replay fixed steps. It goes looking for what you didn't think to check.
Turn it loose on a starting screen with explore — it crawls the app on its own, mapping flows and surfacing pages you forgot existed.
Define a "first-time user on slow 3G" or "power user with a full cart" and have Watchr behave like them while it tests.
Instruments the page and reads back real friction — rage clicks, dead clicks, thrash — like a UX researcher would.
Read requests & response bodies, inspect storage/cookies, run arbitrary JS, and mock routes to simulate failures.
parallel_run fans out N sessions across N flows in a single round-trip to cover a lot of ground fast.
Turn any session into a QA report with build_report, or import test cases from CSV.
These are first-class — not separate tools you wire up. A single session can be a functional test, an a11y audit, a perf check, a visual-regression pass, and a crash hunt at the same time.
Reads crash logs & console errors after every risky action.
Flags missing labels & too-small touch targets, per screen.
Times every action; flags slow (>3s) and very slow (>5s) screens.
Golden screenshots, diffed automatically after changes.
Random taps & swipes to shake out crashes.
Heuristic UX review of the current screen.
Web-side scans for common issues.
Text visible, URL matches, no console errors, no failed requests.
"Test the flow I just changed and tell me what broke."
One pass covering function, a11y, perf & crashes across iOS + Android + web.
"Reproduce this on Android and capture the network traffic."
"Poke around the settings screens and find anything that feels off."
Add Watchr to Claude Code. uvx downloads everything automatically.
$ claude mcp add --scope user watchr -- \
uvx --python 3.12 --upgrade watchr-mcp
Then just open Claude Code in any project and tell it what to test.