snap-o
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.
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.
Screen capture needs no library in your Android app. Network and Tweaks each require an Android integration; follow the guides below.
For keyboard shortcuts and ADB setup, see Using the macOS app.
Screen capture
Drag screenshots and recordings straight into a pull request, chat, or document without saving them first. 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.
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 (Alpha)
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. This feature is in alpha; its APIs and behavior may change.
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
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. Network and Tweaks use the same extension model as custom tools.
Start with Build a tool and the Tool API reference. 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.
Tool frontend development also requires Node.js 22.12 or later. See tool development.
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.
