Free & open source · macOS 12+

Logcat without the noise.

Find the crash. Fix it faster.

Keynobi is a free, open-source Mac app that runs next to Android Studio. Filter live device logs down to your app, catch crashes the moment they happen, and let Claude Code or Codex debug from the same data.

Apple Silicon · Intel Mac? Get the Intel build · notarized

Keynobi — Logcat · Pixel 8
package:mineANDlevel:error | is:crash
  • 204GitHub stars
  • v0.1.30latest signed release
  • 56MCP tools for your agent
  • MITopen source, runs locally

Same crash, two streams

Your crash is in there. Somewhere.

A busy device writes thousands of lines a minute, and most of them come from the system. Keynobi keeps the lines from your app and groups the crash so you can read it. Try the filters yourself.

Raw logcat6,815 lines and counting

The crash is line 11. It scrolls away before you find it.

Keynobi

showing 10 of 10 lines

Filters
Saved filters
IMainActivitycold start in 812ms
DSystemServerBroadcast ACTION_BATTERY_CHANGED
DOkHttpGET /api/feed 200 (142ms)
WImagePipelineretrying thumbnail load after timeout
Isystem_serverWifiService: RSSI changed to -61
IGmsCoreCheckin succeeded
WChoreographerSkipped 34 frames during feed render
EFeedViewModelNull item in adapter payload
EGmsCoreFailed to fetch config: UNAVAILABLE
EAndroidRuntimeFATAL EXCEPTION: main
CRASH DETECTED · grouped from 14 linesjava.lang.NullPointerException: Attempt to invoke virtual method on null  at com.myapp.ui.HomeFragment.onViewCreated(HomeFragment.kt:87)  at com.myapp.ui.HomeFragment.bindData(HomeFragment.kt:112)Click a frame to open it in Android Studio →

The whole loop

Everything around the log, one window.

Build, run, and inspect without switching tools. Logcat stays in view the whole time.

See every feature →
  • Filters that think like you do

    Combine package, level, tag, age, and crash filters with AND or OR, negate the noisy ones, and save the sets you use every day.

    Keynobi Logcat filtered with package:mine AND level:debug, with a crash in the stream
  • Devices and emulators

    Pick the deploy target, create and launch AVDs, and keep install and launch pointed at the right device.

    Keynobi device panel with a connected Pixel 8 Pro, an emulator, and virtual devices
  • Build, install, launch

    Run Gradle with ⌘R, read errors as structured Problems, switch variants, and look back through build history.

    Keynobi build history and Problems grouped by file with line and column
  • See what automation sees

    Capture the UI Automator tree, search it, and hit-test the wireframe to find the node behind any view.

    Keynobi Layout inspector: wireframe over the device screenshot, with the selected node in the tree

For AI coding agents

Your agent sees the crash you see.

Keynobi's MCP server gives Claude Code and Codex your real build output, logs, and device, so they fix from evidence instead of guessing from pasted screenshots.

Android tools
56
setup command
1
cloud proxies
0
  • Works with Claude Code and Codex over local stdio
  • Builds run only in projects you trusted
  • Publish and upload Gradle tasks are blocked
  • App actions stay scoped to your app package
claude — ~/code/myappkeynobi · connected
  1. you ›The app crashes when I open the feed. Find out why and fix it.
  2. get_crash_logs → 1 crash · NullPointerException in com.myapp

  3. get_crash_stack_trace(package: "com.myapp") → HomeFragment.bindData (HomeFragment.kt:112)

  4. agent ›bindData reads the first feed item before the list has loaded. Adding a guard and an empty state.

  5. Edited app/src/main/java/com/myapp/ui/HomeFragment.kt

  6. run_gradle_task(task: "assembleDebug") → BUILD SUCCESSFUL in 38s

  7. install_apk · launch_app → com.myapp launched on Pixel 8

  8. get_crash_logs → no new crashes

  9. agent ›Fixed. The feed opens without crashing, and the empty state shows while it loads.

Illustrative session. Tool names are Keynobi's real MCP tools; output is sample data.

How it works

Running in a few minutes.

  1. Install

    Download the DMG for your Mac and drag Keynobi to Applications. Signed and notarized, macOS 12 or later.

  2. Open your project

    Press Cmd+O and pick your Gradle project. Choose Trust so Keynobi can build it, or open it in Safe Mode first.

  3. Cut the noise

    Select a device, press Start in Logcat, and type package:mine. Save the filters you reach for every day.

Connect your agent

Optional. One command for Claude Code; Codex works too.

claude mcp add --scope user --transport stdio keynobi -- '/Applications/Keynobi.app/Contents/MacOS/keynobi' --mcp

Your code never leaves your Mac.

Privacy details →

Local only

Source, Gradle logs, logcat, and MCP traffic stay on your Mac. Agents talk to Keynobi over local stdio.

Quiet by default

One GitHub update check on launch. Anonymous crash reporting is off unless you turn it on, and it never includes project data.

Open source

MIT licensed. Read every line on GitHub, and build it yourself if you like.

Find your next crash faster.

Free and open source for macOS 12+. Gradle projects in Kotlin or Java.

Apple Silicon · Intel Mac? Get the Intel build