Reference
Troubleshooting
Common issues when running Keynobi on macOS, connecting AI clients, or building Keynobi from source. Start with Health Center (Cmd+Shift+H)—it checks the Android SDK, ADB, emulator, Android Studio CLI, JDK, and app data directory, and tells you what to fix.
Using the app
No devices appear
- Confirm
adb devicesworks in a terminal. - Check Android SDK Path in Settings (Cmd+,) and the ADB item in Health Center.
- For USB devices, confirm USB debugging is enabled and the computer is trusted on the device.
- Click Refresh in the Devices sidebar. Wireless devices appear after you pair them with
adb pairandadb connect.
Build fails immediately or Run App is disabled
- If the project shows a Safe Mode badge, trust it first: click the badge in the title bar, or right-click the project and choose Trust Project. Safe Mode never runs the project's build code.
- Open Health Center and check Java / JDK and Android SDK. The JDK must be one your Android Gradle Plugin supports (17+ for AGP 8).
org.gradle.java.homeingradle.propertiestakes precedence over JAVA_HOME in Settings. - Confirm the project has a
gradlewwrapper, then try Clean Project from the Command Palette.
Logcat is empty or stopped
- Select an online device and press Start. Logcat shows only logs written after you pressed Start, so trigger the behavior again.
- Clear restrictive filters such as package, age, or crash-only with Clear in the filter bar.
- Keynobi retries when the device connection drops. If you see Logcat stopped, check
adb devicesand press Start.
Stack-trace lines do not open in Android Studio
Put Android Studio's studio command on your PATH: in Android Studio, choose Tools → Create Command-line Launcher. Health Center shows the Android Studio CLI status.
Layout capture fails
Confirm the device is online and unlocked, open the screen you want to inspect, then click Refresh. Secure screens (FLAG_SECURE) and some OS states return partial or empty dumps.
MCP cannot connect
- Copy the setup command again from Health Center.
- Confirm the app path in the command exists. Keynobi must be in
/Applications, not inside a mounted DMG. - In Claude Code, run
claude mcp listfrom your project folder. If Keynobi is missing, re-add it with--scope user. - If you use
--project, confirm the folder exists and contains the Android project.
MCP works on the wrong project
The MCP server picks its project when your AI client starts it. Ask the client to call get_project_info: selected_by says whether the project came from --project, the client's working folder, or the last project open in Keynobi. Restart the MCP server from your AI client, or add --project /path/to/project to the setup command.
MCP builds fail with "This project is not trusted"
Open the project in Keynobi and choose Trust, or right-click it in the Projects sidebar and choose Trust Project. Then ask the AI client to build again—the MCP server does not need a restart.
MCP refuses a Gradle task
Publish, upload, uninstall, and Play Store or Maven Central release tasks are blocked for AI clients by default. Run them yourself, or turn on Allow unrestricted Gradle tasks under Settings → Tools → MCP.
App can't be opened because it is from an unidentified developer
GitHub Release DMGs are signed and notarized. This warning usually comes from a local build from source. Right-click the app → Open once to satisfy Gatekeeper.
No update notice for a newer release
Keynobi checks the latest GitHub Release on each launch. Confirm you are online, or open the Releases page directly. After updating, restart your AI clients so MCP uses the new binary.
Building Keynobi from source
cargo: command not found when running npm run tauri dev
Add to your shell config (e.g. ~/.zshrc), then restart the terminal:
source "$HOME/.cargo/env"
Port 1420 is already in use
Dev server port conflict during Tauri dev:
lsof -ti:1420 | xargs kill -9
First tauri dev is very slow
Expected on first compile (often several minutes). Later incremental builds are usually seconds.