Snap-O is a handy macOS app for inspecting Android apps. Capture screenshots and recordings, inspect network traffic, override responses, and adjust app values while your app runs.
Get started
Requires macOS 26 or later and adb from Android Platform Tools.
If you don't already have adb, install Android Platform Tools through Android Studio or brew install android-platform-tools.
- Download Snap-O and move it to Applications.
- Connect a device with USB debugging enabled, or start an emulator.
- Open Snap-O. Live Preview starts automatically. Option-drag the preview to share a screenshot, or press
⇧⌘Rto record.
For capture controls and keyboard shortcuts, see the Screen capture guide.
Screen capture
Snap-O automatically keeps screenshots and recordings in Capture History, including across app restarts. Open Window → Capture History (⇧⌘H) to browse captures by day and reopen them. Captures from multiple devices stay grouped together.
Drag screenshots and recordings straight into a pull request, chat, or document. Play recordings immediately and step through them frame by frame to check an animation. Work with multiple devices and keep captures open in separate windows.
History keeps captures for seven days by default, with a 5 GB storage limit. Change these limits in History Storage, or use Save As… (⌘S) to keep a permanent copy.
Network
Inspect HTTP requests and responses, JSON bodies, Server-Sent Events, and WebSocket messages. Snap-O buffers recent traffic on the device, so you can inspect requests made before you opened the tool.
The Android libraries support OkHttp, Ktor's OkHttp engine, and HttpURLConnection. Python handlers can edit or mock HTTP responses through the app's OkHttp connection.
Tweaks
Change values in Compose, Views, and other Kotlin code without rebuilding or restarting your app. Adjust numbers, colors, booleans, strings, enums, and Bézier curves, or run actions registered by the app.
Use tweaks-core and TweakScope outside Compose. See Tweaks without Compose for setup and ownership examples.
Tweaks are available through the Tool pane, an optional on-device panel, the CLI, and the REST API.
CLI and Codex
The snapo-network and snapo-tweaks CLIs support inspection and live changes on macOS and Linux. Each requires only Python 3 and Android Platform Tools and runs independently of the macOS app.
On macOS, the app includes both CLIs and a snapo entry point:
/Applications/Snap-O.app/Contents/MacOS/snapo network list --json
/Applications/Snap-O.app/Contents/MacOS/snapo tweaks apps --json
The Codex plugin bundles two self-contained skills, each with its own CLI:
codex plugin marketplace add openai/snap-o --ref main
codex plugin add snap-o@snap-o
Start a new Codex session after installation.
CLI setup and commands · Linux installation · Plugin updates
Plugins
Android apps bundle tool plugins that provide tools for inspecting data, changing settings, and running actions. A tool plugin includes its Android implementation and an optional frontend. Snap-O displays the selected tool’s frontend in the Tool pane; the Mac app does not bundle tool frontends. Network and Tweaks use the same extension model as custom tools.
Start with Build a tool. See tool development for repository commands and host behavior.
Build from source
Requires Xcode 26 or later and Android Platform Tools.
- Clone this repository.
- Open
app-macos/Snap-O.xcodeprojin Xcode, then build and run.
See Contributing for development and signing instructions, and Release requirements for release checks.
Contributing
Snap-O is maintained as time allows, with no formal roadmap. Bug reports and small patches are welcome. Read the contribution guide and code of conduct before contributing.
License
Apache 2.0. Copyright 2025 OpenAI.